ホームページ > バックエンド開発 > Golang > Go でジェネリック型のデフォルト値を処理するにはどうすればよいですか?

Go でジェネリック型のデフォルト値を処理するにはどうすればよいですか?

DDD
リリース: 2024-12-23 03:46:10
オリジナル
172 人が閲覧しました

How to Handle Default Values for Generic Types in Go?

ジェネリック型のデフォルト値

Go では、どの型に対しても nil を返すことは許可されていません。 T が任意の型を表すジェネリック型の場合でも、nil は有効なオプションではありません。構造体や整数などの型には nil 表現がありません。

代わりに、T に使用される特定の型引数のゼロ値を返すことができます。ゼロ値は型によって異なります。

  • ポインタとスライスの場合は nil
  • 文字列の場合は空の文字列
  • 整数と浮動小数点数の場合は 0

ゼロ値を返すには、型 T の変数を宣言して戻り値を返します。それ:

func getZero[T any]() T {
    var result T
    return result
}
ログイン後にコピー

たとえば、getZero 関数を使用します:

i := getZero[int]()
fmt.Printf("%T %v\n", i, i) // Output: int 0

s := getZero[string]()
fmt.Printf("%T %q\n", s, s) // Output: string ""

p := getZero[image.Point]()
fmt.Printf("%T %v\n", p, p) // Output: image.Point (0,0)

f := getZero[*float64]()
fmt.Printf("%T %v\n", f, f) // Output: *float64 <nil>
ログイン後にコピー

以上がGo でジェネリック型のデフォルト値を処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート