📝
【Go】41歳未経験エンジニア ~Go挑戦記#5~
基本編 その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