Golang 将Slice转换为数组

Golang 将Slice转换为数组

Slice也可以被称为动态数组,因为其值是动态的,而普通数组是静态的。这使得Slice更有效率和更快速。它们是通过引用传递而不是值传递。在这里,我们将通过各种示例学习将Slice转换为数组的不同技巧。

语法

func append(slice, element_1, element_2…, element_N) []T

append函数用于将值添加到数组切片中。它接受多个参数。第一个参数是要添加值的数组,后面跟着要添加的值。然后,该函数返回包含所有值的最终数组切片。

func copy(dst, str[] type) int

go语言中的copy函数用于将一个源数组的值复制到目标数组,并返回复制的元素数量作为结果。它以两个数组作为参数。

步骤

  • 步骤1 - 创建一个main包,并在程序中声明fmt(格式化包)包,其中main生成可执行代码,fmt帮助格式化输入和输出。

  • 步骤2 - 创建一个切片,并使用append函数向切片中添加一些值。

  • 步骤3 - 初始化一个具有大小的数组,以便将值复制到其中。

  • 步骤4 - 使用copy函数将切片的元素复制到数组中。

  • 步骤5 - 使用fmt.Println()函数在控制台上打印数组,其中ln表示换行。

示例1

在这个示例中,我们将学习如何使用内置函数copy将切片转换为数组。这里,我们将切片元素复制到创建的数组中。让我们深入代码和算法,看看它是如何完成的。

package main
import "fmt"

//create main function to execute the program
func main() {
   var slice []int // initialize slice
   slice = append(slice, 10) //fill the slice using append function
   slice = append(slice, 20)
   slice = append(slice, 30)

   // Convert the slice to an array
   array := [3]int{} //initialized an empty array
   copy(array[:], slice) //copy the elements of slice in newly created array
   fmt.Println("The slice is converted into array and printed as:")
   fmt.Println(array) // prints the output: [10 20 30]
}

输出

The slice is converted into array and printed as:
[10 20 30]

示例2

在这个示例中,我们将看到如何使用for循环将切片转换为数组。切片的元素将被赋值给数组。让我们通过代码来明确我们的概念。

package main
import "fmt"

//create main function to execute the program
func main() {
   var slice []int // initialize slice
   slice = append(slice, 10) //fill the slice using append function
   slice = append(slice, 20)
   slice = append(slice, 30)

   // Convert the slice to an array
   var array [3]int
   for i, element := range slice {
      array[i] = element // store slice elements in the newly created array
   }
   fmt.Println("The array is printed after conversion from slice:")
   fmt.Println(array) // prints the output: [1 2 3]
}

输出

The array is printed after conversion from slice:
[10 20 30]

结论

在上述程序中,我们使用了两个示例来将切片转换为数组。在第一个示例中,我们使用了copy函数来获取一个数组。在第二个示例中,我们使用了for循环和两个内置函数-append和copy。Append用于在切片中添加元素。因此,程序成功执行。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程