GOでは、文字列と他のデータ型間の変換は一般的なタスクです。 GOは、これらの変換を実行するためのいくつかの組み込み機能と方法を提供します。これらの変換を理解するための鍵は、言語によって提供される特定の機能と方法を知ることにあります。いくつかの一般的な原則と例があります。
文字列から他のタイプまで:
strconv.Atoi()
関数を使用できます。strconv.ParseFloat()
を使用できます。strconv.ParseBool()
を使用できます。他のタイプから文字列へ:
strconv.Itoa()
またはfmt.Sprintf()
を使用できます。strconv.FormatFloat()
またはfmt.Sprintf()
を使用できます。strconv.FormatBool()
またはfmt.Sprintf()
を使用できます。文字列へのバイトスライス:
string()
関数を提供して、バイトスライス( []byte
)を直接文字列に変換します。これらの変換を説明するためのいくつかの例を次に示します。
<code class="go">// String to Integer strNum := "123" num, err := strconv.Atoi(strNum) if err != nil { fmt.Println("Error converting string to integer:", err) } else { fmt.Println("Converted integer:", num) } // Integer to String num := 123 strNum := strconv.Itoa(num) fmt.Println("Converted string:", strNum) // String to Float strFloat := "123.45" floatNum, err := strconv.ParseFloat(strFloat, 64) if err != nil { fmt.Println("Error converting string to float:", err) } else { fmt.Println("Converted float:", floatNum) } // Float to String floatNum := 123.45 strFloat := strconv.FormatFloat(floatNum, 'f', -1, 64) fmt.Println("Converted string:", strFloat) // String to Boolean strBool := "true" boolValue, err := strconv.ParseBool(strBool) if err != nil { fmt.Println("Error converting string to boolean:", err) } else { fmt.Println("Converted boolean:", boolValue) } // Boolean to String boolValue := true strBool := strconv.FormatBool(boolValue) fmt.Println("Converted string:", strBool) // Byte Slice to String byteSlice := []byte{72, 101, 108, 108, 111} str := string(byteSlice) fmt.Println("Converted string:", str)</code>
これらの例は、タイプ変換を実行するためにさまざまなstrconv
パッケージ関数の使用を示しています。 strconv
パッケージは、GOのこれらの操作に特に役立ちます。
Goでは、整数を文字列に変換するために使用される2つの主要な関数があります。
strconv.Itoa()
:この関数は、整数値をその文字列表現に変換します。それは簡単で、整数でのみ動作します。
例:
<code class="go">num := 42 str := strconv.Itoa(num) fmt.Println(str) // Output: 42</code>
fmt.Sprintf()
:この関数はより汎用性が高く、整数を含むさまざまなデータタイプを文字列に変換するために使用できます。フォーマット仕様を使用して出力をフォーマットします。
例:
<code class="go">num := 42 str := fmt.Sprintf("%d", num) fmt.Println(str) // Output: 42</code>
どちらの関数も一般的に使用されますが、 strconv.Itoa()
整数から弦から弦からストリングへの変換のために特別に設計されており、この目的のためにより簡潔です。
文字列をGOのフロートに変換するには、 strconv
パッケージからstrconv.ParseFloat()
関数を使用できます。この関数は、変換する文字列とフロートのビットサイズ(32または64)の2つの引数を取ります。
strconv.ParseFloat()
の使用方法は次のとおりです。
<code class="go">strFloat := "123.45" floatNum, err := strconv.ParseFloat(strFloat, 64) if err != nil { fmt.Println("Error converting string to float:", err) } else { fmt.Println("Converted float:", floatNum) }</code>
この例では、 strconv.ParseFloat(strFloat, 64)
文字列"123.45"
をfloat64
に変換しようとします。関数は、変換されたフロートとエラーの2つの値を返します。常にエラーをチェックして、変換が失敗するケースを処理する必要があります(たとえば、文字列に非数値文字が含まれている場合)。
GOでは、 string()
関数を使用してバイトスライス( []byte
)を文字列に変換できます。これは、この変換を実行するための最も一般的で簡単な方法です。
これが例です:
<code class="go">byteSlice := []byte{72, 101, 108, 108, 111} str := string(byteSlice) fmt.Println(str) // Output: Hello</code>
この例では、バイトスライス{72, 101, 108, 108, 111}
文字列「Hello」のASCII値に対応します。これは、文字列「Hello」に正しく変換されます。
string()
関数は効率的であり、追加の処理やメモリの割り当てなしに、バイトスライスをストリング表現に直接変換します。この変換は基礎となるデータをコピーしないことに注意することが重要です。バイトスライスと同じメモリを参照する新しい文字列値を作成します。
以上がGOの文字列と他のデータ型との間をどのように変換しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。