我有两个值:
[3:6]
我试图在Golang中玩一些游戏,但是我找不到能够根据这些值创建数组的好方法。
我要实现的目标是:
[3,4,5,6]
您可以利用该for ... range构造使其更紧凑甚至更快:
for ... range
lo, hi := 3, 6 s := make([]int, hi-lo+1) for i := range s { s[i] = i + lo }
出于好奇,可以在不使用循环变量的情况下实现循环,但是这样会更慢,并且代码也更长。通过递减hi:
hi
for ; hi >= lo; hi-- { s[hi-len(s)+1] = hi }
或递增lo:
lo
for ; lo <= hi; lo++ { s[len(s)-1-hi+lo] = lo }