ホームページ >バックエンド開発 >Golang >Go でインターフェイスを int に安全にキャストするにはどうすればよいですか?{}

Go でインターフェイスを int に安全にキャストするにはどうすればよいですか?{}

Susan Sarandon
Susan Sarandonオリジナル
2024-12-12 13:53:10688ブラウズ

How to Safely Cast interface{} to int in Go?

Int へのインターフェイス{}のキャスト

JSON から値を抽出して整数にキャストしようとすると、エラーが発生する場合がありますインターフェースを直接 int に変換できないことを示します。{}これを解決するには、型アサーションが必要です。

提供されたコード例では、

iAreaId := int(val)

という行によりエラーが発生します。これは、val がインターフェイスであるためであり、直接キャストすることはできません。{} intに。代わりに、型アサーションが必要です。

iAreaId := val.(int)

この型アサーションは、val の値を int に強制的にキャストします。あるいは、パニックを起こさないバージョンを使用することもできます。

iAreaId, ok := val.(int)

ok 変数を含めることにより、続行する前にアサーションが成功したかどうかを確認できます。

さらに、次の点に注意することが重要です。明示的な変換は、Go 言語仕様で定義されているように、ソースと宛先の基になる型に互換性がある場合にのみ実行できます。

以上がGo でインターフェイスを int に安全にキャストするにはどうすればよいですか?{}の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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