Golang は、高性能、シンプル、安全、そして習得が簡単なプログラミング言語です。 Golang では、型変換は、あるデータ型を別のデータ型に変換するプロセスです。この記事では、基本的な型変換、カスタム型変換、インターフェイス変換など、Golang での型変換について説明します。
基本的な型変換
Golang では、基本的な型には int、float、bool、string などが含まれます。ある型を別の型に変換する必要がある場合、キャストを使用して変換できます。たとえば、int 型を string 型に変換します。
var num int = 42 var str string = strconv.Itoa(num)
上記のコードでは、strconv
パッケージの Itoa
関数を使用して int 型変数を変換します num
を文字列型変数 str
に変換します。
もう 1 つの一般的な基本型変換は、string 型を int 型に変換することです。 Golang では、このタスクは strconv
パッケージの Atoi
関数を使用して実行できます。例:
var str string = "42" num, err := strconv.Atoi(str) if err != nil { // 处理错误 }
上記のコードでは、Atoi
関数を使用して、文字列型変数 str
を int 型変数 num
に変換します。 。変換中にエラーが発生した場合は、err
を使用してエラーを処理できます。
カスタム型変換
基本的な型変換に加えて、カスタム型変換も Golang で実行できます。カスタム タイプは、構造またはインターフェイスを通じて定義されます。たとえば、構造体を定義できます。
type MyInt int
上記のコードでは、MyInt
という名前の構造体を定義します。その基礎となる型は int
です。構造体にメソッドを追加することもできます。
次に、MyInt
型変数を int
型変数に変換します。 Golang では、型変換演算子 ()
を使用して変換できます。例:
var num MyInt = 42 var i int = int(num)
上記のコードでは、int()
を使用して、MyInt
型変数 num
を int# に変換します。 # #変数
iを入力します。
() を使用してインターフェイス変換を完了できます。例:
type Animal interface { Move() string } type Dog struct { Name string } func (d *Dog) Move() string { return "Move like a dog" } func main() { var a Animal a = &Dog{"Fido"} // 将a转换为*Dog类型 d, ok := a.(*Dog) if ok { fmt.Printf("Name: %s ", d.Name) fmt.Println(d.Move()) } }
Animal という名前のインターフェイスと
Dog という名前の構造体、および
Dog 構造体ポインターを定義します。
Animal インターフェース変数
a に割り当てられます。次に、型アサーションと型変換演算子
() を使用して、
Animal インターフェイスを
*Dog 型に変換し、
Dog# を出力します。 ## 構造体 d
の名前と移動方法。 概要
Golang では、型変換は、あるデータ型を別のデータ型に変換するプロセスです。基本的な型変換は強制型変換を使用して実行でき、カスタム型変換は型変換演算子
() を使用して実行でき、インターフェイス変換は型アサーションと型変換演算子 ()## を使用して実行できます。 #. .型変換を実行するときは、エラーを避けるために型の互換性に必ず注意してください。
以上がgolangの型変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。