go言語トラップの12:配列とスライスの遍歴時に不要な変数

703 ワード

pythonでは、for i in xを使用してlist/tupleを巡回します.go言語では、データやスライスを巡回するときにrange、rangeで2つの値を生成することができます.それぞれデータのインデックスと値です.
code:
package main

import "fmt"

func main() {
    x := []string{"a", "b", "c"}

    for v := range x {
        fmt.Println(v) //prints 0, 1, 2
    }
}

この書き方は非常に悪い(間違いは報告されていないが)、for...rangeの過程でindex(インデックス)とvalueの2つの値が発生したため、遍歴する時、このindex変数が表示されずに宣言され、私たちはindexを使わず、常に良好な符号化習慣を身につけている.
good:
package main

import "fmt"

func main() {  
    x := []string{"a","b","c"}

    for _, v := range x {
        fmt.Println(v) //prints a, b, c
    }
}

使わないで無視しろ!!!