Senior
Pouvons-nous, à la cinquième ligne, où se fait fmt.Println(v), accéder à l'unité (élément ajouté via append dans fill) et l'afficher?
sobes.tech IA
Réponse de l'IA
En Go, si dans la fonction fill vous ajoutez un élément à une tranche via append, cet élément existera dans la tranche après l'appel à fill si la tranche est transmise par référence ou renvoyée.
Exemple:
package main
import "fmt"
func fill(s []int) []int {
s = append(s, 1) // ajout de l'élément
return s
}
func main() {
var v []int
v = fill(v)
fmt.Println(v) // ici affichera [1]
}
Si la tranche est transmise par valeur à fill et non renvoyée, les modifications ne sont pas enregistrées. Donc, pour accéder à l'élément ajouté à la ligne cinq, il faut soit retourner la tranche depuis fill, soit passer un pointeur vers la tranche.
Ainsi, à la ligne cinq, fmt.Println(v), vous pouvez afficher l'unité ajoutée si vous organisez correctement la transmission et le retour de la tranche.