Go の型アサーションは、インターフェイス値をより具体的な型に変換するために使用されます。これは次の手順で構成されます。 インターフェイス値とターゲット タイプを宣言します。型アサーション構文を使用してインターフェイス値をターゲット型に変換し、結果を変数に代入します。ブール変数を使用して、変換が成功したかどうかを確認します。変換が失敗した場合、ターゲット変数は nil に設定されます。
型アサーションは Go の特別な操作であり、インターフェイス値をより具体的な値に変換できます。タイプ。これは、型なしデータを扱う場合や、実行時に変数の型を確認する必要がある場合に便利です。
構文
型アサーションの構文は次のとおりです:
value, ok := value.(Type)
ここで:
value
は、変換されるインターフェイス値です。 Type
は、変換先の型です。 ok
は、変換が成功したかどうかを示すブール値です。 実際的なケース
インターフェイス値 i
があり、これに person
構造体が格納されているとします。
type Person struct { Name string Age int } func main() { i := Person{"John", 30} }
i
を person
型に変換したい場合は、型アサーションを使用できます。
if person, ok := i.(Person); ok { fmt.Println(person.Name, person.Age) }
変換が成功すると、Assign が行われます。 person
を person
タイプに、ok
を true
に設定します。それ以外の場合、person
は nil
に設定され、ok
は false
に設定されます。
注
value
は nil
に設定され、ok
は false
に設定されます。 ok
値を必ずチェックして、変換が成功したことを確認してください。 以上がgolang で型変換に型アサーションを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。