Heim >Backend-Entwicklung >Golang >Wie gehe ich mit Standardwerten für generische Typen in Go um?
Standardwert für generische Typen
Die Rückgabe von Null für einen beliebigen Typ ist in Go nicht zulässig. Selbst für generische Typen, bei denen T einen beliebigen Typ darstellen könnte, ist Null keine gültige Option. Typen wie Strukturen und Ganzzahlen haben keine Nulldarstellung.
Stattdessen kann der Nullwert für das spezifische Typargument, das für T verwendet wird, zurückgegeben werden. Der Nullwert variiert je nach Typ:
Um den Nullwert zurückzugeben, deklarieren Sie eine Variable vom Typ T und geben Sie sie zurück it:
func getZero[T any]() T { var result T return result }
Zum Beispiel mit der getZero-Funktion:
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>
Das obige ist der detaillierte Inhalt vonWie gehe ich mit Standardwerten für generische Typen in Go um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!