Golang関数の戻り値はキャストできますか?

WBOY
リリース: 2024-04-13 11:36:02
オリジナル
556 人が閲覧しました

Go 言語では関数の戻り値の強制が許可されており、その構文形式は value := variable.(targetType) です。キャストを使用すると、interface{} 型の値を、map[string]string などの特定の型に変換できます。考慮事項には、型の互換性、値の検証、慎重な使用が含まれます。

Golang 函数返回值可以强制类型转换吗?

Go における関数の戻り値の強制型変換

Go 言語では関数の戻り値を強制的に型変換することができます。構文形式は次のとおりです。

value := variable.(targetType)
ログイン後にコピー

ここで、

  • variable は、変換される変数です。
  • targetType は、変換されるターゲットのタイプです。

実際的なケース:

interface{} 型を返す GetUserInfo 関数があるとします。{}

map:

func GetUserInfo() interface{} {
    return map[string]string{"name": "John Doe", "age": "30"}
}
ログイン後にコピー
この戻り値を map[string]string

型にキャストするには、次のコードを使用できます:

userInfo := GetUserInfo().(map[string]string)
ログイン後にコピー
Now, userInfo この変数は map[string]string

型の変数で、通常のマップと同様に使用できます:

fmt.Println(userInfo["name"]) // 输出:John Doe
ログイン後にコピー
注:
  • # キャストは互換性のある型でのみ機能します。変換される型に互換性がない場合、実行時エラーがスローされます。
  • 強制型変換では、変数の型がチェックされるだけで、その値の検証は実行されません。たとえば、変換される変数に無効な値が含まれている場合でも、キャストは成功する可能性がありますが、その値を使用するとエラーが発生します。
  • キャストを使用する場合は注意してください。変換タイプが間違っていると、プログラムが予期しない動作をする可能性があります。

以上がGolang関数の戻り値はキャストできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!