Int へのインターフェイス{}のキャスト
JSON から値を抽出して整数にキャストしようとすると、エラーが発生する場合がありますインターフェースを直接 int に変換できないことを示します。{}これを解決するには、型アサーションが必要です。
提供されたコード例では、
iAreaId := int(val)
という行によりエラーが発生します。これは、val がインターフェイスであるためであり、直接キャストすることはできません。{} intに。代わりに、型アサーションが必要です。
iAreaId := val.(int)
この型アサーションは、val の値を int に強制的にキャストします。あるいは、パニックを起こさないバージョンを使用することもできます。
iAreaId, ok := val.(int)
ok 変数を含めることにより、続行する前にアサーションが成功したかどうかを確認できます。
さらに、次の点に注意することが重要です。明示的な変換は、Go 言語仕様で定義されているように、ソースと宛先の基になる型に互換性がある場合にのみ実行できます。
以上がGo でインターフェイスを int に安全にキャストするにはどうすればよいですか?{}の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。