【发布时间】:2016-10-06 10:12:17
【问题描述】:
我几乎可以肯定,我读到了一种简单的“棘手”方法来初始化具有从 0 到 N 的数字的整数切片,但我再也找不到它了。
最简单的方法是什么?
【问题讨论】:
-
只是一个想法,
iota可能是你记得的,虽然这是用于 const 的,我不知道如何在切片上使用它。
标签: go initialization slice
我几乎可以肯定,我读到了一种简单的“棘手”方法来初始化具有从 0 到 N 的数字的整数切片,但我再也找不到它了。
最简单的方法是什么?
【问题讨论】:
iota 可能是你记得的,虽然这是用于 const 的,我不知道如何在切片上使用它。
标签: go initialization slice
您只需使用 make 传递 N 的长度,然后使用简单的 for 循环来设置值...
mySlice := make([]int, N)
for i := 0; i < N; i++ {
mySlice[i] = i
}
这是一个完整的游戏示例; https://play.golang.org/p/yvyzuWxN1M
【讨论】:
N 时它不起作用。一行代码,三行代码,到底有什么区别?它易于阅读和理解,这才是真正重要的。
for i := range mySlice { mySlice[i] = i }
N 之一但忘记更改另一个而引入的。