一尘不染

在Go中将一个数组追加到另一个数组的最快方法是什么?

go

假设我有数组AB围棋。什么是追加的所有值最快的方式BA


阅读 2773

收藏
2020-07-02

共1个答案

一尘不染

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

阅读这些文章,以了解有关数组和切片的更多信息:

切成薄片:用法和内部原理

数组,切片(和字符串):“追加”的机制

2020-07-02