Initialisation des champs de structure avec des cartes dans Go
Lors de l'initialisation d'une structure contenant un champ de carte, il est important de s'assurer que la carte est initialisé pour éviter les erreurs de pointeur nulles. Une approche consiste à créer une fonction constructeur qui initialise explicitement la carte, telle que :
type Graph struct { connections map[Vertex][]Vertex } func NewGraph() *Graph { var g Graph g.connections = make(map[Vertex][]Vertex) return &g }
Une autre option consiste à utiliser une méthode "ajouter une connexion" qui initialise la carte si elle est vide :
func (g *Graph) add_connection(v1, v2 Vertex) { if g.connections == nil { g.connections = make(map[Vertex][]Vertex) } g.connections[v1] = append(g.connections[v1], v2) g.connections[v2] = append(g.connections[v2], v1) }
Certains préfèrent utiliser des constructeurs en raison de leur clarté et de leur facilité d'utilisation, tandis que d'autres privilégient la méthode « ajouter une connexion » pour sa flexibilité et ses avantages potentiels en termes de performances. En fin de compte, la meilleure approche dépend des exigences spécifiques de l'application.
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!