作者:try | 来源:互联网 | 2023-05-18 17:42
假设我有数组A
并且B
在Go中.什么是追加的所有值最快的方式B
来A
?
1> icza..:
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
!
阅读这些文章以了解有关数组和切片的更多信息:
去切片:用法和内部
数组,切片(和字符串):'追加'的机制