我是 Go 的新手,因此我的问题可能看起来有点天真。
我有一个我使用创建的切片
var x []int;
for i := 2; i < 10; i += 2 {
x = append(x, i);
}
我想在这个切片前加上一个整数,比如
x = append(2, x)
但显然它不会工作,因为 append 需要一个切片作为第一个参数。
我试过 这个,但它只适用于字符串,在我的情况下不起作用。
原文由 coda 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用切片 复合文字:
[]int{1}
,例如:游乐场:https: //play.golang.org/p/Yc87gO7gJlD
输出:
然而,这个更高效的版本可能会进行更少的分配,只有在没有空闲切片容量时才需要分配。
游乐场:https: //play.golang.org/p/fswXul_YfvD
输出:
好的代码必须是可读的。在 Go 中,我们经常将实现细节隐藏在函数中。 Go 编译器正在优化编译器,内联小而简单的函数(如
prependInt
)。游乐场:https: //play.golang.org/p/wl6gvoXraKH
输出:
请参阅 Go SliceTricks 。