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语言程序,该程序将一个数组的所有元素复制到另一个数组,并附带示例。

更新于:2023年1月2日

1K+ 阅读量

启动您的职业生涯

完成课程获得认证

开始学习
广告