Golang (Go とも呼ばれる) は、効率的で簡潔なプログラミング言語として、ますます多くの支持者や開発者を獲得し続けています。豊富なライブラリと簡潔な構文により、Golang は非常に便利で快適に使用できます。この記事では、Golangをよりプログラミングに活用するために、Golangにおけるrangeの使い方を詳しく紹介していきます!
レンジとは何ですか?
Range は Golang の組み込み関数で、コレクション内の各要素 (配列、スライス、マップなど) を直接取り出すことができ、非常に便利です。実際のプログラミング プロセスでは、計算、印刷、フィルタリング、その他の操作のためにデータ収集を横断するために range 関数をよく使用します。
range を使用するための基本構文
range の基本構文は次のとおりです:
for インデックス、値 := range collection {
// 针对value和index进行操作
}
ここで、index は走査された現在の要素のインデックスを表し、value は走査された現在の要素を表します。
たとえば、range を使用して整数配列を走査できます。
package main
import "fmt"
func main() {
nums := []int{2, 3, 4} sum := 0 for _, num := range nums { sum += num } fmt.Println("sum: ", sum)
}
結果出力: sum: 9
上記のコードでは、配列 nums の各要素を順番に走査し、= に従って累積し、最終的に次の合計を計算します。要素が計算されます。
範囲内でのインデックスの使用
範囲内では、要素の添字と値を出力しながら、添字 (インデックス) を使用してコレクション要素を走査できます。
package main
import "fmt"
func main() {
nums := []int{2, 3, 4} for i, num := range nums { fmt.Printf("index: %d, value: %d\n", i, num) }
}
このプログラムを実行すると、次の出力が得られます:
index : 0、値: 2
index: 1、値: 3
index: 2、値: 4
範囲内のインデックスを無視します
使用する必要がない場合範囲内のインデックスの場合は、それを無視して、代わりに「_」を使用できます。
package main
import "fmt"
func main() {
nums := []int{2, 3, 4} for _, num := range nums { fmt.Println("value: ", num) }
}
出力結果:
value: 2
value: 3
value: 4
範囲内のマップの使用
範囲内の配列とスライスの処理に加えて、マッピング (マップ) を処理することもできます。 )、具体的な実装は次のとおりです:
package main
import "fmt"
func main() {
kvs := map[string]string{"a": "apple", "b": "banana"} for k, v := range kvs { fmt.Printf("%s -> %s\n", k, v) }
}
出力結果:
a ->apple
b ->banana
range では配列とスライスを処理できるだけでなく、簡単に走査できることがわかります。地図。
範囲内のチャネルの使用
配列、スライス、マッピングに加えて、範囲内のチャネル (Channel) をトラバースすることもできます。サンプル コードは次のとおりです:
package main
import "fmt"
func main() {
c := make(chan int, 2) c <- 1 c <- 2 close(c) for v := range c { fmt.Println(v) }
}
出力結果:
1
2
上記のコード例では、容量 2 のチャネル c を定義し、2 つの値 1 と 2 をチャネルに入力し、最後に close() 関数を使用してチャネルを閉じます。範囲内のチャネルを使用する場合、チャネルが閉じられるとループは自動的に終了します。
概要
Golang では、range はさまざまなデータ構造を横断するための非常に便利な方法です。 range 関数を使用すると、さまざまなデータ型を簡単に調べて、必要なデータを取得できます。配列、スライス、マップ、チャネルを扱う場合でも、range を使用することは、プログラムの真の意味を達成するのに役立つ効率的かつ洗練された方法です。
以上がgolang レンジの用途は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。