📝

【Go】41歳未経験エンジニア ~Go挑戦記#5~

2022/12/04に公開

基本編 その4 [Range・Map]

Range

rangeは、「Slice」や「Map」(後述)のデータを一つずつ処理を行いたいときに使用します。
Javaの拡張for文である「for each」的な位置づけになります。
for 【index】, 【変数名】:= range 【配列】 {… 処理 …}

array
func main() {
	var num = []string{"zero", "one", "two" , "three", "four"}
	for i, val := range num {
		fmt.Println(i, val)
	}
}

Map

mapは、「キー」と「値」からなる配列です。
他言語では連想配列とも呼ばれるものになります。
定義方法は、
var 【変数名】= map[キーの型] 【値の型】 {
キー:{値},
}

map
func main() {
	var num = map[String]int{
		"one": 1,
		"two": 2,
	}
	fmt.Println(num["one"]) //1
        fmt.Println(num["two"]) //2
}

structを使うと複数の値も扱ます。

map&struct
type number struct {
	one, three, five int
}

func main() {
	var num = map[string]number{
		"odd": number{ 1, 3, 5},
		"even": number{2, 4, 6},
	}
	fmt.Println(num["odd"]) //1, 3, 5
        fmt.Println(num["even"]) //2, 4, 6
}

一時的に理解しても業務などで使わないと忘れそうですね。

Discussion