Golang の range を使用して構造体配列をイテレートする方法
構造体配列は、range キーワードを使用してイテレートできます。次に簡単な例を示します。
package main
import "fmt"
type Person struct {
Name string
Age int
}
func main() {
persons := []Person{
{Name: "Alice", Age: 25},
{Name: "Bob", Age: 30},
{Name: "Charlie", Age: 35},
}
for _, person := range persons {
fmt.Println(person.Name, person.Age)
}
}
上のコードでは、Person構造体を定義し、persons配列を作成し、その配列には3つのPerson構造体インスタンスが入っています。
次に、forループでrangeキーワードを使用して、persons配列をイテレートします。rangeは2つの値を返します。1番目の値は現在のインデックス(_を使用して無視します)、2番目の値は対応するインデックスの要素(Person構造体のインスタンス)です。ループ本体内で、各Person構造体のNameフィールドとAgeフィールドにアクセスして、表示できます。
以上のコードを実行すると、出力が表示されます:
Alice 25
Bob 30
Charlie 35
これで、構造体の配列を範囲キーワードを使って反復処理できるようになります。