2016-06-06 34 views
0

我幾乎可以肯定,我讀了一個簡單的「棘手」方法來初始化從0到N的數字的整片,但我再也找不到它了。用int數字從0到N初始化golang slice

要做到這一點,最簡單的方法是什麼?

+0

只是一個念頭,'iota'可能是你記得的東西,雖然這是爲了const,而且我不知道在片上使用它。 – miltonb

回答

3

你只需要使用讓路過N的長度,然後用一個簡單的for循環設定值...

mySlice := make([]int, N) 
for i := 0; i < N; i++ { 
     mySlice[i] = i 
} 

這裏是玩一個完整的示例; https://play.golang.org/p/yvyzuWxN1M

+0

我是否閱讀過一種方式來爲其他語言做到這一點?我是新來的。 – gsf

+0

@gsf可能是的。有許多語言可以在一行中完成,但在Go中無法完成。您可以使用稱爲「複合文字」語法的內容來分配和初始化相同的語句,但這需要您寫出值,以便在具有任意長度「N」時不會起作用。一行代碼,三行代碼,它實際上有什麼不同?很容易閱讀和理解,這是非常重要的。 – evanmcdonnal

+0

yeap,沒關係,除非你在一個有競爭力的公司工作,如果你錯過了這樣的細節,每個人都會開始挑選你 – gsf