Go言語(Golang)では型変換が必要になることが多く、特に異なる型の変数を扱う場合には値(value)間の変換が必要となります。この記事では、Golang の値の変換を次の 2 つの側面から紹介します。
Golang では、基本型間の変換は非常に簡単で、対応する型の変換関数を使用するだけです。以下は、いくつかの基本的な型間の変換のサンプル コードです。
package main import ( "fmt" ) func main() { var i int = 5 var f float32 = 3.2 var b bool = true // int to float32 var iToFloat32 float32 = float32(i) fmt.Printf("int to float32: %v\n", iToFloat32) // float32 to int var fToInt int = int(f) fmt.Printf("float32 to int: %v\n", fToInt) // int to bool var iToBool bool = i != 0 fmt.Printf("int to bool: %v\n", iToBool) // bool to int var bToInt int = 0 if b { bToInt = 1 } fmt.Printf("bool to int: %v\n", bToInt) }
Golang では、カスタム タイプ間の値の変換は、型変換にいくつかのメソッドを使用する必要があるため、さらに面倒になる可能性があります。 。以下は、カスタム タイプ間の変換のサンプル コードです。
package main import ( "fmt" ) type MyInt int func (m MyInt) ToString() string { return fmt.Sprintf("%d", m) } type MyFloat float32 func (m MyFloat) ToString() string { return fmt.Sprintf("%.2f", m) } func main() { var i MyInt = 10 var f MyFloat = 3.14 // MyInt to MyFloat var iToFloat MyFloat = MyFloat(i) fmt.Printf("MyInt to MyFloat: %s\n", iToFloat.ToString()) // MyFloat to MyInt var fToInt MyInt = MyInt(f) fmt.Printf("MyFloat to MyInt: %s\n", fToInt.ToString()) }
ここでは、2 つのカスタム タイプ MyInt と MyFloat を定義し、カスタム タイプの変換に使用される ToString() メソッドをそれぞれ定義します。文字列への型変換を定義します。 main関数では、まずMyInt型の変数iとMyFloat型の変数fを定義し、次にMyInt型からMyFloat型へ、MyFloat型からMyInt型へ値を変換し、最後に変換結果を文字列型に変換します。 ToString() メソッドを使用して簡単に出力します。
一般に、Golang での値の変換は非常に簡単で、対応する型の変換関数またはカスタム型の変換メソッドを使用するだけです。
以上がGolang の値変換を導入する 2 つの側面の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。