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 !
No answers yet.
Connectez-vous pour laisser une réponse
Blogs
Monorepo avec PHP : organisation du code pour les grands projets
Clean Code en Kotlin : principes et exemples pour débutants
Comment supprimer un élément d'une slice en Golang : guide complet avec exemples
Code Review PHP : 8 points essentiels à vérifier pour chaque développeur