iT邦幫忙

6

golang #18

// hello22
package main

import (
	"fmt"
)

func main() {
	// 宣告Array同時賦值的另一種方式
	a := [...]int{2, 7, 9, -33, 567}
	// 搭配 for range 列印出來
	for idx, val := range a {
		fmt.Printf("%v => %3d\n", idx, val)
	}
}

執行結果:

$ ./hello22 
0 =>   2
1 =>   7
2 =>   9
3 => -33
4 => 567

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
總裁
iT邦好手 1 級 ‧ 2014-07-24 15:13:20

idx

這是保留字嗎??...疑惑

看更多先前的回應...收起先前的回應...

idx, val 都是變數.
使用 := 產生的囉.

總裁 iT邦好手 1 級 ‧ 2014-07-24 15:22:16 檢舉

idx哪有:=...???暈

for idx, val := range a

總裁 iT邦好手 1 級 ‧ 2014-07-24 15:33:36 檢舉

啥??這一行宣告了兩個???驚
我以為只宣告了val...Orz

golang 可以這樣一次宣告兩個,所以蠻可愛的呢.

0
賽門
iT邦超人 1 級 ‧ 2014-07-24 16:41:05

根據GO Lang的Range語法...

如果Range指向一個Array時,會回傳兩個數值,第一個數值是陣列元素索引值,即0、1、2、3、4....
第二個參數是陣列元素內容值,以小雨大的範例...是2、7、9、-33、567

所以宣告了idx及val兩個變數來接收Range的兩個回傳值....

<<不正常電腦語言教學中心主任賽很大親筆>>

<<你想學程式語言嗎?>>
<<你想學會別人不會寫、看不懂的程式語言嗎?>>
<<請向本中心特務小雨大報名>>
<<一旦學會本中心不正常電腦程式設計方法,終身成為不正常人類研究中心特派員>>

.....不要理我,我來崩壞的,話說崩壞的卡大都變正常了,還有什麼不正常的呢??

外獅佬 iT邦大師 1 級 ‧ 2014-07-24 18:02:20 檢舉

iT邦幫忙MVPsimon581923提到:
你想學會別人不會寫、看不懂的程式語言嗎?

驚難...難道教學的...不是....人驚

我要留言

立即登入留言