Goで文字列処理を使用するにはどうすればよいですか?

WBOY
リリース: 2023-05-11 16:21:38
オリジナル
654 人が閲覧しました

Go は強力なプログラミング言語として、多くの文字列処理関数とメソッドを提供します。この知識をよりよく習得するために、この記事では、文字列の型と、文字列の作成、連結、切り取り、比較、検索などの Go の基本的な文字列処理関数を紹介します。

  1. 文字列型

Go では、文字列型は読み取り専用の文字シーケンス、文字列型として定義されます。文字列値は、二重引用符で囲まれた一連の文字で構成されます。例:

str := "Hello, world!"
ログイン後にコピー
ログイン後にコピー

文字列は読み取り専用であり、文字列内の特定の文字を変更することはできません。文字列の値は、次のように再割り当てすることで変更できます。

str := "Hello, world!"
str = "Hello, Golang!"
ログイン後にコピー
  1. 文字列の作成

文字列を作成するには、次のようにさまざまな方法があります。その一部:

  • 直接宣言と代入

例:

str := "Hello, world!"
ログイン後にコピー
ログイン後にコピー

この方法は、最も単純で最も一般的に使用される方法です。 Go では、二重引用符で囲まれた文字列内の特殊文字はエスケープ文字で表す必要があることに注意してください。たとえば、次のようになります。

str := "This is a "quoted" string."
ログイン後にコピー
  • 文字配列を使用して作成します

文字配列を使用して文字列を作成することも実現可能な方法です。例:

str := []byte{'H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!'}
str_1 := string(str)
ログイン後にコピー

上記のコードは、バイト型の文字配列を作成し、それを文字列型に変換します。 Go では、文字列と文字配列は 2 つの異なるタイプであることに注意してください。

  • fmt.Sprintf を使用した作成

C 言語の sprintf 関数と同様に、fmt.Sprintf 関数を使用して文字列を作成できます。例:

str := fmt.Sprintf("The value of x is %d", x)
ログイン後にコピー
  1. 文字列の連結

文字列の連結には、「 」演算子を使用できます。例:

str1 := "Hello"
str2 := ", world!"
result := str1 + str2
ログイン後にコピー

または fmt.Sprintf を使用します。関数、例:

str1 := "Hello"
str2 := ", world!"
result := fmt.Sprintf("%s%s", str1, str2)
ログイン後にコピー

文字列を連結すると新しい文字列が生成されることに注意してください。操作が多い場合、大量の一時文字列が生成され、プログラムのパフォーマンスに影響を与える可能性があります。 。

  1. 文字列の切断

文字列の切断には、strings パッケージの Split 関数を使用できます。例:

str := "apple,orange,peach"
slice := strings.Split(str, ",")
ログイン後にコピー

上記のコードはカンマ記号で区切られています。文字列 str をスライスに切り取ります。

  1. 文字列の比較

文字列の比較には、文字列パッケージの「==」演算子または Equal 関数を使用できます。例:

str1 := "Hello"
str2 := "world"
equal := (str1 == str2)
equal_1 := strings.EqualFold(str1, str2)
ログイン後にコピー

上記のコードは、strings パッケージの「==」演算子と EqualFold 関数を使用して、2 つの文字列の同等性を比較します。

Go では文字列比較では大文字と小文字が区別されることに注意してください。大文字と小文字を区別しない必要がある場合は、strings パッケージの EqualFold 関数を使用できます。

  1. 文字列検索

Go には、次のような文字列を検索するための関数が複数用意されています。

  • strings.Contains: 文字列に別の文字列が含まれているかどうかの判断弦。
str := "Hello, world!"
contains := strings.Contains(str, "world") // 返回true
ログイン後にコピー
  • strings.Index: 別の文字列内で最初に出現する文字列を検索します。
str := "Hello, world!"
index := strings.Index(str, "world") // 返回7
ログイン後にコピー
  • strings.LastIndex: 別の文字列内で最後に出現する文字列を検索します。
str := "Hello, world!"
index := strings.LastIndex(str, "o") // 返回8
ログイン後にコピー
  • strings.HasPrefix: 文字列が別の文字列で始まるかどうかを判断します。
str := "Hello, world!"
hasPrefix := strings.HasPrefix(str, "Hello") // 返回true
ログイン後にコピー
  • strings.HasSuffix: 文字列が別の文字列で終わるかどうかを判断します。
str := "Hello, world!"
hasSuffix := strings.HasSuffix(str, "world!") // 返回true
ログイン後にコピー

概要

この記事では、基本的な文字列処理関数とメソッドを紹介します。実際の開発では、置換、サイズ書き込み変換、フォーマット出力、もっと。より深い理解が必要な読者は、公式ドキュメントとサンプル コードを参照してさらに学習することができます。

以上がGoで文字列処理を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!