Go语言程序:将一个数组的所有元素复制到另一个数组
在本教程中,我们将学习如何编写一个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]
使用内部函数复制一个数组的元素到另一个数组
现在,让我们来看另一个将一个数组的内容复制到另一个数组的示例。在这个示例中,我们将使用一个名为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语言程序,该程序将一个数组的所有元素复制到另一个数组,并附带示例。