Golang程序 将一个数组推入另一个数组中
在本教程中,我们将编写一个go语言程序,将一个数组推送到另一个数组。这方面有很多方法。最简单的是使用平等运算符。在这里,我们将看到3种方法,通过这些方法,我们可以在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()库函数,将一个数组的内容推送到另一个数组。复制是go中的一个内置函数,存在于strings包中。
语法
func copy(dst, str[] type) int
Go语言中的copy函数用于将一个源数组的值复制到目标数组中,并将复制的元素数量作为结果返回。它需要两个数组作为参数,这个函数存在于strings包中。
算法
第1步 – 导入fmt包。
第2步 – 启动main()函数。在这个函数中,初始化两个字符串数据类型的数组,并使用append()函数向它们存储数值。
第3步 – 现在,在屏幕上打印两个数组,并使用copy函数将第一个数组的内容复制到第二个数组中。
第4步 – 一旦元素被复制,就将复制的元素数量存储在一个名为result的变量中,并将最终的数组和复制的元素数量打印在屏幕上。
示例
使用copy()函数将一个字符串数组推送到另一个数组的Golang程序
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库函数来实现这个结果。