Golang 将一个数组的所有元素复制到另一个数组
在本教程中,我们将看到如何编写一个Go语言程序,将一个数组的所有元素复制到另一个数组。
使用等号运算符将一个数组的所有元素复制到另一个数组
现在让我们来看一个Go语言代码,通过使用等号运算符将一个数组的所有元素复制到另一个数组。
步骤
第1步 - 导入 fmt 包。
第2步 - 调用 main() 函数。
第3步 - 初始化定义一个类型为字符串的数组,并将值存储到数组中。
第4步 - 将该数组打印在屏幕上。
第5步 - 创建一个名为 my_arr2 的新数组,并使用等号运算符将第一个数组的所有内容复制到第二个数组中。
第6步 - 新数组中包含原始数组的所有值。我们需要使用 fmt.Println() 函数将该数组打印在屏幕上。
示例
package main
import "fmt"
func main() {
my_arr1 := [5]string{"Apple", "Mango", "Banana", "Pineapple", "Tomato"}
my_arr2 := my_arr1
fmt.Println("The first array, arr1 is:", my_arr1)
fmt.Println("The array obtained after copying the contents of arr1:", my_arr2)
}
输出
The first array, arr1 is: [Apple Mango Banana Pineapple Tomato]
The array obtained after copying the contents of arr1: [Apple Mango Banana Pineapple Tomato]
使用内置函数将一个数组的元素复制到另一个数组中
现在,让我们看一个将一个数组的内容复制到另一个数组中的另一个示例。在这个示例中,我们将使用一个预定义的函数called copy()来存储数组的内容。
语法
func copy(dst, str[] type) int
在Go语言中, copy 函数用于将一个源数组的值复制到目标数组,并将复制的元素数量作为结果返回。它接受两个数组作为参数。
func make ([] type, size, capacity)
在go语言中,make函数用于创建数组/映射,它接受要创建的变量类型,大小和容量作为参数
步骤
步骤1 - 首先,我们需要导入fmt包。
步骤2 - 然后我们需要调用main()函数。
步骤3 - 初始化一个名为src的整数数组,并将值存储到其中。将此数组打印到屏幕上。
步骤4 - 现在,使用make()函数创建一个名为dst的新整数数组。
步骤5 - 通过将dst和src数组作为参数传递给copy函数,并将该函数返回的结果存储在一个新变量中来调用该函数。
步骤6 - 使用fmt.Println()函数将dst数组以及已复制的元素数量打印到屏幕上。
示例
package main
import "fmt"
func main() {
src := []int{1, 2, 3, 4, 5}
fmt.Printf("The source array is: %v\n", src)
dst := make([]int, 5)
numberOfElementsCopied := copy(dst, src)
fmt.Printf("The array obtained after copying the contents of src array is: %v\n", dst)
fmt.Printf("Number Of Elements Copied: %d\n", numberOfElementsCopied)
}
输出
The source array is: [1 2 3 4 5]
The array obtained after copying the contents of src array is: [1 2 3 4 5]
Number Of Elements Copied: 5
使用for循环将一个数组的所有元素复制到另一个数组
现在,让我们编写一个go语言程序,使用for循环将一个数组的内容复制到另一个数组中。
语法
func len(v Type) int
len()函数用于获取变量的长度。它接受元素作为参数并返回其长度。
步骤
步骤1 - 首先,我们需要导入fmt包。
步骤2 - 然后我们需要调用main()函数。
步骤3 - 初始化一个名为src的整数数组并存储值。将此数组打印到屏幕上。
步骤4 - 现在,使用make()函数创建一个名为dst的新整数数组。
步骤5 - 现在,我们使用for循环将一个数组的内容复制到另一个数组中。
步骤6 - 使用fmt.Println()函数在屏幕上打印已复制的元素数量以及dst数组。
示例
package main
import "fmt"
func main() {
src := []int{1, 2, 3, 4, 5}
fmt.Printf("The source array is: %v\n", src)
dst := make([]int, 5)
for i := 0; i < len(src); i++ {
dst[i] = src[i]
}
fmt.Printf("The array obtained after copying the contents of src array is: %v\n", dst)
fmt.Printf("Number Of Elements Copied: %d\n", len(dst))
}
输出
The source array is: [1 2 3 4 5]
The array obtained after copying the contents of src array is: [1 2 3 4 5]
Number Of Elements Copied: 5
结论
我们成功地编译并执行了一个Go语言程序,用于将一个数组的所有元素复制到另一个数组,并附带示例。