文字列を処理する方法は何ですか

Go言語では、forループを使用して文字列を反復処理できます。以下は、文字列を反復処理する 2 つの一般的な方法です。

  1. forループとインデックスを活用する:rangeキーワードを利用することで文字列を走査し、各文字のインデックスと値を取得可能。例:
str := "Hello, World!"
for i, char := range str {
fmt.Printf("Index: %d, Character: %c\n", i, char)
}

出力の結果は次のとおりです。

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: W
Index: 8, Character: o
Index: 9, Character: r
Index: 10, Character: l
Index: 11, Character: d
Index: 12, Character: !
  1. for ループとスライスを使って:文字列をスライスに変換し、それを for ループでイテレートすることができます。例:
str := "Hello, World!"
for _, char := range []rune(str) {
fmt.Printf("Character: %c\n", char)
}

この例では、 Go の文字列は UTF-8 エンコードのため、文字列を []rune(str) でルーン型のスライスに変換します。ルーンでは Unicode 文字を表します。インデックスは使用されません。

両方の方法は文字列の反復処理に利用できますが、どちらを使用するかは索引にアクセスする必要があるか、文字自体が単に必要かによって異なります。

bannerAds