ホームページ >バックエンド開発 >Golang >任意の Go 変数のゼロ値をチェックするにはどうすればよいですか?

任意の Go 変数のゼロ値をチェックするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-27 17:47:18368ブラウズ

How Can I Check for Zero Values in Arbitrary Go Variables?

任意の Go 変数のゼロ値ステータスの評価

Go では、特にスライスのような複合型の場合、すべての変数が比較演算をサポートしているわけではありません。このような場合、直接比較に依存すると、予期しない結果が生じる可能性があります。

幸いなことに、Go 1.13 では、この問題に対処するために、reflect パッケージ内に Value.IsZero() メソッドが導入されました。このメソッドは、任意の型の変数がゼロ値を持つかどうかを判断する簡単な方法を提供します。これを利用する方法は次のとおりです。

if reflect.ValueOf(v).IsZero() {
    // v is zero, do something
}

reflect.ValueOf(v) 式は、変数 v のreflection.Value オブジェクトを抽出します。次に、このオブジェクトに対して IsZero() メソッドが呼び出され、その値がどうかを確認します。

このアプローチは、プリミティブ型に対応するだけでなく、Chan、Func、Array、Interface、Map、 Ptr、Slice、UnsafePointer、および Struct。

以上が任意の Go 変数のゼロ値をチェックするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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