当前位置: 首页 > 面试题库 >

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

卫飞鹏
2023-03-14
问题内容

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


问题答案:

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

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

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

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



 类似资料:
  • 问题内容: 当我运行以下代码时,什么也不会被复制-我在做什么错? 另外,这是将数据从一个阵列复制到另一个阵列的最佳/最有效的方法吗? 问题答案: 我认为您的工作很落后: 应该:

  • 问题内容: 如何在不比较键的情况下将一个数组追加到另一个数组? 最后应该是: 如果我使用或,则将导致以下结果之一: 这样做应该是一件值得做的事,但是要用一种更优雅的方式: 问题答案: 是一种优雅的方式: 做类似的事情: 将不起作用,因为运算符实际上并未合并它们。如果它们的键与相同,则不会执行任何操作。

  • 问题内容: 最近有人要求我为一份工作编写3个测试程序。它们将仅使用核心Java API和我选择的任何测试框架来编写。应在适当的地方实施单元测试。 尽管我根本没有收到任何反馈,但我想他们不喜欢我的解决方案(否则我会收到他们的来信),所以我决定在这里展示我的程序,并询问这种实现是否可以认为是好的,并且,如果没有,那为什么呢? 为避免混淆,我现在只问第一个。 实现一个函数,以在另一个更大的数组中查找一个

  • 问题内容: 如何有效地检查整数数组中的所有元素是否是Java中另一个数组的所有元素的子集?例如,[33 11 23]是[11 23 33 42]的子集。提前致谢。 问题答案: 从超集数组中取出一个。检查子集中数组的每个元素是否包含在中。这是非常快速的操作。

  • 虽然Swift中的link:Add a element to a array展示了如何将一个项目添加到一个数组中,但我的问题是如何将一个数组作为一个项目添加到另一个数组中。 我没有发现任何类似的问题——我有以下阵列: 和 我想将第一个数组作为一个整体附加到另一个数组,所以我得到这样的结果: 请注意,这不是预期的结果: 我将如何实现这一点?

  • 我正试图将数据复制到数组中,但出现了一个错误,称无法转换类型。我该怎么解决这个问题?