golangの文字列変換

May 15, 2023 pm 12:17 PM

Go 言語では、文字列は非常に重要なデータ型です。 Go の文字列は、0 バイト以上の不変のシーケンスです。実際のアプリケーションでは、多くの場合、文字列の変換と処理が必要になります。この記事では、Go 言語でよく使用される文字列変換関連の操作を紹介します。

1. 文字列とバイト スライスの変換

Go 言語の文字列とバイト スライスは 2 つの一般的に使用されるデータ型であり、それらの間の変換は非常に一般的な操作です。

文字列をバイト スライスに変換する: Go 言語の組み込み []byte 関数を使用して、文字列をバイト スライスに変換します。

str := "Hello World"
byteSlice := []byte(str)
ログイン後にコピー

バイト スライスを文字列に変換: Go 言語の組み込み string 関数を使用して、バイト スライスを文字列に変換します。

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

実際のアプリケーションでは、文字列とバイト スライスの変換は、ネットワーク通信、ファイルの読み取りと書き込みなどによく使用されます。

2. 文字列型と数値型の変換

実際のアプリケーションでは、文字列を数値型に変換したり、数値型を文字列に変換したりする必要がある場合があります。

  1. 文字列を数値型に変換する

Go 言語には、文字列を数値型に変換するためのさまざまなメソッドが用意されています。

strconv パッケージの Atoi 関数を使用して、文字列を int 型に変換します。

str := "123"
n, err := strconv.Atoi(str)
if err != nil {
    //转换失败
}
ログイン後にコピー

strconv パッケージの ParseInt 関数を使用して、文字列を任意の基数の整数に変換します。

str := "101011"
n, err := strconv.ParseInt(str, 2, 64)
if err != nil {
    //转换失败
}
ログイン後にコピー

strconv パッケージの ParseFloat 関数を使用して、文字列を浮動小数点数に変換します。 2 番目のパラメータは浮動小数点数の桁数を指定し、3 番目のパラメータは浮動小数点数の精度を指定します。

str := "3.14"
f, err := strconv.ParseFloat(str, 64)
if err != nil {
    //转换失败
}
ログイン後にコピー
  1. 数値型を文字列に変換します

strconv パッケージの Itoa 関数を使用して int を変換します型を文字列に変換します。

n := 123
str := strconv.Itoa(n)
ログイン後にコピー

strconv パッケージの FormatInt 関数を使用して、整数を任意の文字列に変換します。

n := int64(42)
str := strconv.FormatInt(n, 16)
ログイン後にコピー

3. 文字列の分割と結合

実際のアプリケーションでは、指定された区切り文字に従って文字列を分割したり、複数の文字列を 1 つの文字列に結合したりする必要がよくあります。

  1. 指定された区切り文字に従って文字列を分割します

strings パッケージの Split 関数を使用して文字列を分割します指定された区切り文字に従って分割し、文字列のスライスを返します。

str := "a,b,c,d"
strSlice := strings.Split(str, ",")
fmt.Println(strSlice) //["a", "b", "c", "d"]
ログイン後にコピー
  1. 複数の文字列を 1 つの文字列に連結する

複数の文字列を 1 つの文字列に連結するには、 演算子を使用するか、Join# を使用します。 strings パッケージの ## 関数は、文字列スライスを文字列に結合します。

str1 := "hello"
str2 := "world"
str3 := str1 + " " + str2
fmt.Println(str3) //"hello world"

strSlice := []string{"a", "b", "c", "d"}
str := strings.Join(strSlice, "-")
fmt.Println(str) //"a-b-c-d"
ログイン後にコピー

4. 文字列の大文字と小文字の変換

実際のアプリケーションでは、文字列の大文字と小文字を変換する必要があることがよくあります。

    文字列を大文字に変換する

strings パッケージの ToUpper 関数を使用して、文字列を大文字に変換します。

str := "Hello World"
str = strings.ToUpper(str)
fmt.Println(str) //"HELLO WORLD"
ログイン後にコピー

    文字列を小文字に変換します

strings パッケージの ToLower 関数を使用して、文字列を小文字に変換します。

str := "Hello World"
str = strings.ToLower(str)
fmt.Println(str) //"hello world"
ログイン後にコピー

5. 文字列インターセプト

実際のアプリケーションでは、文字列から指定された部分文字列をインターセプトする必要があることがよくあります。

strings パッケージの Substring 関数を使用して、文字列から指定された部分文字列をインターセプトします。

str := "Hello World"
subStr := str[0:5]
fmt.Println(subStr) //"Hello"
ログイン後にコピー
上記は、Go 言語で一般的に使用される文字列変換関連の操作です。これらのスキルを習得すると、文字列処理がより便利になり、プログラミング効率が向上します。

以上がgolangの文字列変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Go Language Packのインポート:アンダースコアとアンダースコアなしの違いは何ですか? Go Language Packのインポート:アンダースコアとアンダースコアなしの違いは何ですか? Mar 03, 2025 pm 05:17 PM

Go Language Packのインポート:アンダースコアとアンダースコアなしの違いは何ですか?

GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか? GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか? Mar 10, 2025 pm 05:38 PM

GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか?

Beegoフレームワークのページ間で短期情報転送を実装する方法は? Beegoフレームワークのページ間で短期情報転送を実装する方法は? Mar 03, 2025 pm 05:22 PM

Beegoフレームワークのページ間で短期情報転送を実装する方法は?

トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか? トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか? Mar 10, 2025 pm 05:36 PM

トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか?

GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか? GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか? Mar 10, 2025 pm 03:20 PM

GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか?

MySQLクエリ結果リストをGO言語のカスタム構造スライスに変換する方法は? MySQLクエリ結果リストをGO言語のカスタム構造スライスに変換する方法は? Mar 03, 2025 pm 05:18 PM

MySQLクエリ結果リストをGO言語のカスタム構造スライスに変換する方法は?

Go言語でファイルを便利に書く方法は? Go言語でファイルを便利に書く方法は? Mar 03, 2025 pm 05:15 PM

Go言語でファイルを便利に書く方法は?

Linterと静的分析ツールを使用して、GOコードの品質と保守性を向上させるにはどうすればよいですか? Linterと静的分析ツールを使用して、GOコードの品質と保守性を向上させるにはどうすればよいですか? Mar 10, 2025 pm 05:38 PM

Linterと静的分析ツールを使用して、GOコードの品質と保守性を向上させるにはどうすればよいですか?

See all articles