首页 > 文章列表 > Go语言中如何将数组的最后一项移动到第一项?

Go语言中如何将数组的最后一项移动到第一项?

172 2025-04-03

Go语言中如何将数组的最后一项移动到第一项?

Go语言数组:将末尾元素移至开头

Go语言中的数组长度固定,无法直接移动元素。要实现将数组最后一项移动到第一项,需要创建一个新的数组。以下方法利用切片和append函数高效地完成此操作:

方法一:利用切片和append函数

此方法将数组切分成两个部分:最后一个元素和其余元素。然后使用append函数将它们连接起来,形成新的数组。

a := []string{"A", "B", "C"}

last := a[len(a)-1] // 获取最后一个元素
rest := a[:len(a)-1] // 获取除最后一个元素外的其余元素

b := append([]string{last}, rest...) // 将最后一个元素添加到开头,再添加其余元素

fmt.Println(a, b) // 输出:[A B C] [C A B]

方法二:循环复制 (效率较低)

此方法通过循环,将数组元素逐个复制到新数组,效率较低,不推荐使用。

重要说明:

  • 以上方法都创建了一个新的数组 b。原始数组 a 保持不变。
  • 对于大型数组,方法一效率更高。
  • Go语言的切片更适合动态操作,如果需要频繁调整数组元素顺序,建议使用切片。

选择适合您场景的方法,并注意效率问题。 对于大多数情况,方法一更为高效和简洁。

来源:1740094535