配列、slice、mapで使えるrangeを使ってみる
rangeとは
- 配列、slice、mapと組み合わせて使う
- 要素分だけ何らかの処理を繰り返したい時につかう
オーソドックスなrange
基本文法
for i, v := range 変数名 {
繰り返し処理
}
i = sliceのインデックス(何番目の要素か)
v = sliceの要素の値
package main import "fmt" func main() { staticLan := []string{"Java", "Go", "C"} for i, v := range staticLan { fmt.Println(i, v) } }
出力結果
0 Java 1 Go 2 C
iかvが必要のない時のrange
- iかvのどちらかが必要ない時に、必要のないi(もしくはv)を繰り返し処理の中で破棄することができる
→iかvのどちらかのみを利用することができる
文法
for _, v := range 変数名 {
繰り返し処理{
}
のiもしくはvの必要のない方を"_"
(アンダーバー)にする
繰り返し処理の中では必要のないiもしくはvは書かない
package main import "fmt" //vだけを表示する func main() { staticLan := []string{"Java", "Go", "C"} for _, v := range staticLan { fmt.Println(v) } }
出力結果
Java Go C
mapでrangeを使用する
文法
繰り返し処理
}
k = mapの中のキー
v = mapの値
package main import "fmt" func main() { //mapでrange webTech := map[string]string{"FrontSide": "JavaSctipt", "ServerSide": "Go", "DataBase": "MySQL"} for k, v := range webTech { fmt.Println(k, v) } }
出力結果
DataBase MySQL FrontSide JavaSctipt ServerSide Go
参考文献
松尾愛賀(2016)『スターティングGo言語』株式会社 翔泳社
参考にさせていただいたサイト
「急いで学ぶGo lang#7 range・Array・slice・map」,
<[http://dev.classmethod.jp/author/syuta/]
>2016年10月1日アクセス.