2016-02-29 94 views
0

的範圍內,我有兩個值:生成陣列與整數

[3:6]

我試圖在Golang周圍玩的東西,但我不能設法找到一個根據這些值創建一個數組的好方法。

這個我想什麼來實現:

[3,4,5,6] 

回答

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 
}