ホームページ > バックエンド開発 > Golang > golang レンジの用途は何ですか?

golang レンジの用途は何ですか?

PHPz
リリース: 2023-04-14 09:26:54
オリジナル
1410 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート