Junior — Middle
Le langage Go prend-il en charge la possibilité d'effectuer des opérations arithmétiques sur des pointeurs?
sobes.tech IA
Réponse de l'IA
Dans le langage Go, les opérations arithmétiques sur les pointeurs ne sont pas prises en charge directement, comme en C ou C++. Go permet d'effectuer une arithmétique de pointeurs uniquement dans des cas limités, par exemple lors de la manipulation de slices et de tableaux via l'indexation. Cela est fait pour améliorer la sécurité et éviter les erreurs de mémoire. Par exemple, il n'est pas possible d'ajouter simplement un nombre à un pointeur pour obtenir l'élément suivant, mais on peut utiliser l'indexation du slice:
arr := []int{10, 20, 30}
ptr := &arr[0]
// On ne peut pas faire ptr + 1, mais on peut accéder à arr[1]
fmt.Println(arr[1]) // 20
Ainsi, Go limite l'arithmétique des pointeurs pour éviter des opérations non sécurisées.