在Go中将一个数组追加到另一个数组的最快方法是什么?
假设我有数组A
和B
围棋。什么是追加的所有值最快的方式B
来A
?
-
Go中的数组是次要的,而
切片
则是方法。Go提供了一个内置append()
功能来附加切片:a := []int{1, 2, 3} b := []int{4, 5} a = append(a, b...) fmt.Println(a)
输出:
[1 2 3 4 5]
在Go Playground上尝试一下。
笔记:
Go中的数组是固定大小的:创建数组后,就无法增加其大小,因此无法向其添加元素。如果需要,您将需要分配一个更大的新数组。大到足以容纳2个数组中的所有元素。切片更加灵活。
Go中的数组是如此“不灵活”,以至于数组的大小都是其类型的一部分,例如,数组类型
[2]int
与该类型不同,[3]int
因此即使您创建了一个辅助函数来添加/追加类型的数组,[2]int
您也无法用它来附加类型的数组[3]int
!阅读这些文章,以了解有关数组和切片的更多信息: