Maison > développement back-end > Golang > Un littéral Go Struct peut-il attribuer directement un vrai pointeur booléen sans variables supplémentaires ?

Un littéral Go Struct peut-il attribuer directement un vrai pointeur booléen sans variables supplémentaires ?

Mary-Kate Olsen
Libérer: 2024-12-15 07:20:11
original
131 Les gens l'ont consulté

Can a Go Struct Literal Directly Assign a True Boolean Pointer Without Extra Variables?

Définition du pointeur booléen sur True dans les littéraux Struct

Question :

Une fonction nécessite un pointeur vers une valeur booléenne. Un littéral de structure peut-il être utilisé pour définir le champ sur true sans introduire de variables supplémentaires ?

Réponse :

Oui, c'est possible, mais pas idéal :

h := handler{is: &[]bool{true}[0]}
Copier après la connexion

Cette solution crée une tranche avec une seule valeur booléenne true, indexe son premier élément et attribue son adresse au champ is. Bien que de nouvelles variables soient évitées, le passe-partout et la persistance du tableau de support présentent des inconvénients.

Meilleures solutions :

  • Fonction d'assistance :
func newTrue() *bool {
    b := true
    return &b
}
Copier après la connexion
h := handler{is: newTrue()}
Copier après la connexion
  • Anonyme Fonction :
h := handler{is: func() *bool { b := true; return &b }()}
Copier après la connexion
  • Variante One-Liner :
h := handler{is: func(b bool) *bool { return &b }(true)}
Copier après la connexion

Pour plus d'options, reportez-vous à " Comment faire un littéral *int64 dans Go?".

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal