我有两个值:
[3:6]
我试图在Golang玩一些东西,但我无法找到一个根据这些值创建数组的好方法。
这就是我想要实现的目标:
[3,4,5,6]
答案 0 :(得分:4)
您可以使用for ... range
构造使其更紧凑,甚至更快:
lo, hi := 3, 6
s := make([]int, hi-lo+1)
for i := range s {
s[i] = i + lo
}
作为一个好奇心,循环可以在没有循环变量的情况下实现,但它会更慢,代码更长。通过递减hi
:
for ; hi >= lo; hi-- {
s[hi-len(s)+1] = hi
}
或递增lo
:
for ; lo <= hi; lo++ {
s[len(s)-1-hi+lo] = lo
}