gpt4 book ai didi

arrays - 在 Go 中将一个数组 append 到另​​一个数组的最快方法是什么?

转载 作者:IT王子 更新时间:2023-10-29 01:48:45 24 4
gpt4 key购买 nike

假设我在 Go 中有数组 AB。将 B 的所有值 append 到 A 的最快方法是什么?

最佳答案

Arrays在 Go 中是次要的,slices是要走的路。 Go 提供了一个内置的 append() append slice 的函数:

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 个数组中的所有元素。 slice 更加灵活。

Go 中的数组非常“不灵活”,甚至数组的大小也是其类型的一部分,因此例如数组类型 [2]int 不同于类型 [3 ]int 所以即使你创建一个辅助函数来添加/追加 [2]int 类型的数组,你也不能用它来追加 [3] 类型的数组整数!

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

Go Slices: usage and internals

Arrays, slices (and strings): The mechanics of 'append'

关于arrays - 在 Go 中将一个数组 append 到另​​一个数组的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28957190/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com