Avatar ·

Comment obtenir le dernier élément d'un slice en Go ? Existe-t-il une fonction intégrée ?

Bonjour ! Je viens de commencer à apprendre Go après Python, et j'ai un problème avec les slices. En Python, j'ai l'habitude d'obtenir le dernier élément d'une liste avec `my_list[-1]`, mais en Go cette syntaxe ne fonctionne pas — le compilateur renvoie une erreur "invalid slice index -1". J'ai essayé d'écrire quelque chose comme `arr[len(arr) - 1]`, mais cela semble lourd et, honnêtement, je ne suis pas sûr que ce soit correct. Par exemple, que se passe-t-il si le slice est vide ? J'avais ce code : ```go package main import "fmt" func main() { fruits := []string{"apple", "banana", "cherry"} // Comment obtenir "cherry" ? fmt.Println(fruits[-1]) // Erreur ! fmt.Println(fruits[len(fruits)-1]) // Fonctionne ? } ``` Mais j'ai peur que si le slice est vide, `len(fruits) - 1` donne -1, et le programme plantera avec une panique. Existe-t-il en Go une fonction intégrée comme `last()` ou une manière idiomatique d'obtenir le dernier élément en toute sécurité ? Ou dois-je à chaque fois écrire une vérification de la longueur du slice ? Dites-moi comment faire correctement !