ホームページ >バックエンド開発 >Golang >golang で型変換に型アサーションを使用する方法

golang で型変換に型アサーションを使用する方法

PHPz
PHPzオリジナル
2024-05-01 15:45:01541ブラウズ

Go の型アサーションは、インターフェイス値をより具体的な型に変換するために使用されます。これは次の手順で構成されます。 インターフェイス値とターゲット タイプを宣言します。型アサーション構文を使用してインターフェイス値をターゲット型に変換し、結果を変数に代入します。ブール変数を使用して、変換が成功したかどうかを確認します。変換が失敗した場合、ターゲット変数は nil に設定されます。

golang 如何使用类型断言进行类型转换

Golang 型変換に型アサーションを使用する方法

型アサーションは Go の特別な操作であり、インターフェイス値をより具体的な値に変換できます。タイプ。これは、型なしデータを扱う場合や、実行時に変数の型を確認する必要がある場合に便利です。

構文

型アサーションの構文は次のとおりです:

value, ok := value.(Type)

ここで:

  • value は、変換されるインターフェイス値です。
  • Type は、変換先の型です。
  • ok は、変換が成功したかどうかを示すブール値です。

実際的なケース

インターフェイス値 i があり、これに person 構造体が格納されているとします。

type Person struct {
    Name string
    Age  int
}

func main() {
    i := Person{"John", 30}
}

iperson 型に変換したい場合は、型アサーションを使用できます。

if person, ok := i.(Person); ok {
    fmt.Println(person.Name, person.Age)
}

変換が成功すると、Assign が行われます。 personperson タイプに、oktrue に設定します。それ以外の場合、personnil に設定され、okfalse に設定されます。

  • 型アサーションはインターフェイス値にのみ使用できます。
  • 型変換が失敗した場合、valuenil に設定され、okfalse に設定されます。
  • 型アサーションを使用する場合は、ok 値を必ずチェックして、変換が成功したことを確認してください。

以上がgolang で型変換に型アサーションを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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