Go は、厳密に型指定され、静的に型指定され、同時実行をサポートするプログラミング言語です。その中心となるコンセプトは、シンプルさ、効率性、保守性です。
Go では、for-range ループは便利でよく使用される反復方法です。これを使用して、配列、スライス、マップなどのデータ構造を走査できます。この記事では、for-range ループを使用してさまざまなデータ構造を走査する方法を詳しく紹介し、その利点と欠点を探ります。
以下は、for-range ステートメントを使用して配列を反復処理する方法を示すサンプル プログラムです。
package main import "fmt" func main() { nums := [5]int{1, 2, 3, 4, 5} for i, num := range nums { fmt.Printf("Index: %v, Value: %v ", i, num) } }
出力:
Index: 0, Value: 1 Index: 1, Value: 2 Index: 2, Value: 3 Index: 3, Value: 4 Index: 4, Value: 5
この例では、まず 5 つの整数を含む配列 nums を定義します。次に、for-range ループを使用して配列を反復処理し、要素のインデックスと値を変数 i と num に保存します。最後に、各要素のインデックスと値を出力します。
以下は、for-range ステートメントを使用してスライスを反復処理する方法を示すサンプル プログラムです。
package main import "fmt" func main() { fruits := []string{"apple", "banana", "orange"} for i, fruit := range fruits { fmt.Printf("Index: %v, Value: %v ", i, fruit) } }
出力:
Index: 0, Value: apple Index: 1, Value: banana Index: 2, Value: orange
この例では、まずスライス リテラルを使用して 3 つの文字列のスライスを作成します。次に、for-range ループを使用してスライスを反復処理し、要素のインデックスと値を変数 i と Fruit に保存します。最後に、各要素のインデックスと値を出力します。
以下は、for-range ステートメントを使用してマップを走査する方法を示すサンプル プログラムです。
package main import "fmt" func main() { scores := map[string]int{ "Alice": 90, "Bob": 80, "Charlie": 70, } for name, score := range scores { fmt.Printf("%v's Score: %v ", name, score) } }
出力:
Alice's Score: 90 Bob's Score: 80 Charlie's Score: 70
この例では、まずマップ リテラルを使用して、3 つのキーと値のペアを含むマップを作成します。次に、for-range ループを使用してマップ内のキーと値のペアを反復処理し、キーを変数名に、値を変数スコアに保存します。最後に、全員のスコアを印刷します。
以下は、for-range ステートメントを使用して文字列内の文字を反復処理する方法を示すサンプル プログラムです。
package main import "fmt" func main() { str := "Hello, 世界" for i, ch := range str { fmt.Printf("Index: %v, Character: %c ", i, ch) } }
出力:
Index: 0, Character: H Index: 1, Character: e Index: 2, Character: l Index: 3, Character: l Index: 4, Character: o Index: 5, Character: , Index: 6, Character: Index: 7, Character: 世 Index: 10, Character: 界
この例では、英語と中国語の文字を含む文字列 str を定義します。次に、for-range ループを使用して文字列内の文字を反復処理し、文字のインデックスを変数 i に格納し、文字の値を変数 ch に格納します。
長所:
欠点:
要約すると、for-range ループは、さまざまなデータ構造を横断するために使用できる効果的な反復方法です。シンプルでわかりやすいですが、場合によっては他の種類のループを使用する必要があります。
以上が範囲実装のための golangの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。