Maison > développement back-end > Golang > Comment gérer les valeurs par défaut pour les types génériques dans Go ?

Comment gérer les valeurs par défaut pour les types génériques dans Go ?

DDD
Libérer: 2024-12-23 03:46:10
original
212 Les gens l'ont consulté

How to Handle Default Values for Generic Types in Go?

Valeur par défaut pour les types génériques

Le retour de zéro pour n'importe quel type n'est pas autorisé dans Go. Même pour les types génériques, où T peut représenter n’importe quel type, nil n’est pas une option valide. Les types tels que les structures et les entiers n'ont pas de représentation nulle.

Au lieu de cela, la valeur zéro pour l'argument de type spécifique utilisé pour T peut être renvoyée. La valeur zéro varie selon le type :

  • Nil pour les pointeurs et les tranches
  • Chaîne vide pour les chaînes
  • 0 pour les entiers et les flottants

Pour renvoyer la valeur zéro, déclarez une variable de type T et retournez it :

func getZero[T any]() T {
    var result T
    return result
}
Copier après la connexion

Par exemple, en utilisant la fonction 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>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal