Les slices Go sont une structure de données puissante mais subtile. Cet article plonge dans les mécanismes de partage des slices et d'expansion de capacité, montrant comment une seule fonction peut produire deux résultats différents en fonction du comportement du tableau sous-jacent. Comprendre ces mécanismes internes est crucial pour éviter les bugs dans les applications concurrentes ou sensibles à la mémoire. L'article original fournit une explication claire et basée sur des exemples qui résonne avec les développeurs ayant rencontré des mutations inattendues de slices. Pour un public mondial, ce sujet reste très pertinent alors que l'adoption de Go croît dans les systèmes cloud-native et backend. Le point clé est de toujours être conscient de la capacité des slices et d'envisager d'utiliser copy() ou des expressions de slice complètes pour éviter les partages involontaires.
Cet article explore comment les slices Go partagent les tableaux sous-jacents et comment la fonction append peut produire des résultats inattendus en raison de la croissance de capacité. Un piège classique pour les développeurs Go, expliqué avec des exemples clairs.