ホームページ >バックエンド開発 >Golang >Go 変数がその型に関係なくゼロかどうかを判断するにはどうすればよいですか?

Go 変数がその型に関係なくゼロかどうかを判断するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-02 21:33:11536ブラウズ

How to Determine if a Go Variable is Zero Regardless of its Type?

Golang での型に関係なく変数のゼロ値を決定する

Golang では、スライスなど、すべての変数が比較できるわけではありません。これにより、任意の型の変数がゼロであるかどうかを判断することが困難になります。比較できない型については、reflect.Zero(reflect.TypeOf(v)).Interface() との直接比較を使用しようとすると失敗します。

Go の解決策:reflect.Value.IsZero()

Go バージョン 1.13 では、reflect パッケージに IsZero メソッドが導入されました。この関数を使用すると、比較できない型であってもゼロ値をチェックできます。

使用法:

型に関係なく、変数 v がゼロかどうかを判断するには、次のようにします。次のコードを使用してください:

if reflect.ValueOf(v).IsZero() {
    // v is zero, perform custom actions
}

サポートされています型:

IsZero メソッドは、次の型のゼロ値のチェックをサポートします:

  • 基本型
  • Chan、Func、Array、Interface、Map 、Ptr、Slice、UnsafePointer、Struct

以上がGo 変数がその型に関係なくゼロかどうかを判断するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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