Problème selon moi : si la clé ne correspond à aucune valeur, la valeur nulle est renvoyée. De fait dans mon programme j'utilise une map pour faire la correspondance entre les labels et leur adresse réelle. Si je demande l'adresse d'un label inexistant, la map va me renvoyer la valeur 0 puisque c'est l'équivalent de la valeur nulle pour un int…
Comme tu le dis, Go est capable de renvoyer plusieurs valeurs en retour de fonction.
Pour savoir si la clé existe, il faut utiliser le paradigme, fréquent en Go, dit comma ok :
if res, ok := map[key]; ok {
return res
}
Pour les slices, il manque peut-être un peu de sucre syntaxique oui, mais il est simple de créer une fonction remove(i) qui agira comme souhaité.
En tout cas sympathique retour et projet, je vais moi aussi utiliser Go pour mes développements à venir.
# Maps et slices
Posté par Yakulu . En réponse au journal Retour d'expérience sur Go. Évalué à 5.
Comme tu le dis, Go est capable de renvoyer plusieurs valeurs en retour de fonction.
Pour savoir si la clé existe, il faut utiliser le paradigme, fréquent en Go, dit comma ok :
Pour les slices, il manque peut-être un peu de sucre syntaxique oui, mais il est simple de créer une fonction remove(i) qui agira comme souhaité.
En tout cas sympathique retour et projet, je vais moi aussi utiliser Go pour mes développements à venir.