Go语言程序将一个数组推入另一个数组


在本教程中,我们将编写一个 Go 语言程序,将一个数组推入另一个数组。有多种方法可以实现这一点。最简单的方法是使用相等运算符。在这里,我们将看到三种方法,可以通过这些方法将一个数组的内容传输到 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 − 复制数组后,在屏幕上打印新形成的数组。

示例

使用相等运算符将字符串数组推入空数组的 Go 语言程序。

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 中字符串包中的一个内置函数。

语法

func copy(dst, str[] type) int

Go 语言中的 copy 函数用于将一个源数组的值复制到目标数组,并返回复制的元素数量作为结果。它以两个数组作为参数,此函数位于字符串包中。

算法

步骤 1 − 导入 fmt 包。

步骤 2 − 开始 main() 函数。在此函数内部,初始化两个字符串数据类型的数组,并使用 append() 函数向其中存储值。

步骤 3 − 现在,在屏幕上打印这两个数组,并使用 copy 函数将第一个数组的内容复制到第二个数组。

步骤 4 − 复制元素后,将复制的元素数量存储在一个名为 result 的变量中,并在屏幕上打印最终数组以及复制的元素数量。

示例

使用 copy() 函数将字符串数组推入另一个数组的 Go 语言程序

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 − 将数组内容复制到新数组后,在屏幕上打印新形成的数组。

示例

使用 append() 函数将一个数组推入另一个数组的 Go 语言程序。

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 库函数来实现结果。

更新于: 2023年1月10日

3K+ 浏览量

启动您的 职业生涯

通过完成课程获得认证

开始
广告

© . All rights reserved.