Golang 将一个数组推入另一个数组
在本教程中,我们将编写一个go语言程序,将一个数组推入另一个数组。有许多方法可以实现这个。最简单的方法是使用等号运算符。在这里,我们将看到三种方法,通过这些方法我们可以将一个数组的内容传输到另一个数组中。
方法1:通过使用等号运算符将一个字符串数组推入一个空数组中
在这种方法中,我们将使用等号运算符将一个数组的内容添加到程序的main()部分中的另一个数组中。注意,通过这种方法传输元素时,新数组的元素将被覆盖。
语法
func append(slice, element_1, element_2…, element_N) []T
append函数用于向数组切片添加值。它接受多个参数。第一个参数是我们希望向其添加值的数组,随后是要添加的值。然后,该函数返回包含所有值的最终数组切片。
func make ([] type, size, capacity)
在Go语言中, make 函数用于创建一个数组/映射,它接受要创建的变量的类型、大小和容量作为参数,并返回我们可以存储在变量中的切片。
步骤
第1步 − 首先,我们需要导入fmt包。
第2步 − 现在,开始main()函数。在这个函数中使用make()函数创建两个字符串类型的数组,并将数据存储在其中一个数组中。
第3步 − 然后,使用fmt.Println()函数将这些数组打印到屏幕上。之后,使用相等性(==
)运算符将第一个数组的内容复制到第二个数组中。
第4步 − 一旦数组被复制,就打印形成的新数组到屏幕上。
示例
使用相等运算符将字符串数组推到空数组的Golang程序。
package main
import "fmt"
func main() {
// initializing an array
array := make([]string, 0, 3)
array1 := make([]string, 0, 3)
array = append(array, "Apple", "Mango", "Banana")
fmt.Println("The first array is:", array)
fmt.Println("The second array is:", array1)
// copying array contents
array1 = array
fmt.Println()
// printing the array
fmt.Println("The array obtained after copying the contents is:", array1)
}
输出
The first array is: [Apple Mango Banana]
The second array is: []
The array obtained after copying the contents is: [Apple Mango Banana]
方法2:使用Copy()函数将字符串数组推送到另一个数组中
在这种方法中,我们将使用Go中的copy()库函数将一个数组的内容推送到另一个数组中。Copy是Go中的内置函数,位于strings包中。
语法
func copy(dst, str[] type) int
在go语言中, copy 函数用于将一个源数组的值复制到目标数组,并将复制的元素数作为结果返回。它接受两个数组作为参数,该函数位于strings包中。
步骤
步骤1 - 导入fmt包。
步骤2 - 开始main()函数。在这个函数中,使用append()函数初始化两个字符串数据类型的数组,并向它们存储值。
步骤3 - 现在,在屏幕上打印出两个数组,并使用copy函数将第一个数组的内容复制到第二个数组中。
步骤4 - 元素复制完成后,将复制的元素数存储在名为result的变量中,并将最终的数组以及复制的元素数打印到屏幕上。
示例
Golang程序,使用copy()函数将一个字符串数组推入另一个数组
package main
import "fmt"
func main() {
// initializing an array
array := make([]string, 0, 3)
var array1 []string
array = append(array, "Apple", "Mango", "Banana")
array1 = append(array1, "pine-apple", "Cherry")
fmt.Println("The first array is:", array)
fmt.Println("The second array is:", array1)
// copying array contents
result := copy(array1, array)
fmt.Println()
// printing the array
fmt.Println("The array obtained after copying the contents is:", array1)
fmt.Println("The number of elements copied are:", result)
}
输出
The first array is: [Apple Mango Banana]
The second array is: [pine-apple Cherry]
The array obtained after copying the contents is: [Apple Mango]
The number of elements copied are: 2
方法3:使用Append()函数将一个数组推送到另一个数组
在这种方法中,我们将编写一个Go语言程序,使用append()函数将一个数组的元素推送到另一个数组。当我们使用这个函数将一个数组的内容复制到另一个数组时,新数组的当前元素不会被覆盖。
步骤
步骤1 - 导入fmt包。
步骤2 - 启动main()函数并初始化两个数组。将数据存储在两个数组中,并使用fmt.Println()函数将它们打印在屏幕上。
步骤3 - 然后,使用append函数将第一个数组的内容复制到第二个数组中。函数的第一个参数是我们要复制值到的数组。
步骤4 - 一旦数组内容复制到新数组中,将新形成的数组打印在屏幕上。
示例
Golang程序,使用append()函数将一个数组推送到另一个数组。
package main
import "fmt"
func main() {
// initializing an array
array := make([]string, 0, 3)
var array1 []string
array = []string{"Apple", "Mango", "Banana"}
array1 = append(array1, "pine-apple", "Cherry")
fmt.Println("The first array is:", array)
fmt.Println("The second array is:", array1)
// copying array contents
array1 = append(array1, array...)
fmt.Println()
// printing the array
fmt.Println("The array obtained after copying the contents is:", array1)
}
输出
The first array is: [Apple Mango Banana]
The second array is: [pine-apple Cherry]
The array obtained after copying the contents is: [pine-apple Cherry Apple Mango Banana]
结论
我们成功编译并执行了一个Go语言程序,将一个数组的内容复制到另一个数组中,并附有示例。我们在这里制作了三个程序,第一个程序简单地使用等号操作符存储值,而在第二和第三个示例中,我们使用Go库函数来实现结果。