Maison > développement back-end > Golang > le corps du texte

Comment initialiser des pointeurs de chaîne dans des structures en Go ?

Barbara Streisand
Libérer: 2024-11-12 17:35:02
original
852 Les gens l'ont consulté

How to Initialize String Pointers in Structs in Go?

Initialisation des pointeurs de chaîne dans les structures

Dans Go, l'initialisation d'une structure avec un pointeur vers une chaîne où le pointeur peut être nul nécessite une manipulation minutieuse . L'extrait de code suivant illustre le défi :

type Config struct {
  Uri       *string
}

func init() {
  var config = Config{ Uri: "my:default" }
}
Copier après la connexion

Cela échoue avec l'erreur :

cannot use "string" (type string) as type *string in field value
Copier après la connexion

Pour résoudre ce problème, on ne peut pas simplement pointer vers une valeur de chaîne constante comme dans le code ci-dessus . Au lieu de cela, une variable est nécessaire :

type Config struct {
  Uri       *string
}

func init() {
  v := "my:default"
  var config = Config{ Uri: &v }
}
Copier après la connexion

Dans ce code, la variable v est créée et initialisée avec la valeur souhaitée. Ensuite, l'adresse de v (c'est-à-dire &v) est attribuée au champ Uri de la structure. Cela fonctionne car le champ Uri est un pointeur vers une chaîne et l'adresse de v est de type *string.

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