• # Maps et slices

    Posté par . En réponse au journal Retour d'expérience sur Go. Évalué à 5.

    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.