Junior — Middle
Comment créer et initialiser correctement des slices en Go?
sobes.tech IA
Réponse de l'IA
En Go, les slices sont des structures de données dynamiques qui représentent une référence à un tableau avec une longueur et une capacité spécifiées.
Les slices peuvent être créés et initialisés de plusieurs manières :
- Déclaration d’un slice sans initialisation (slice nul) :
var s []int // slice nul, longueur et capacité 0
- Initialisation d’un slice à l’aide d’un littéral :
s := []int{1, 2, 3} // slice de longueur 3
- Création d’un slice avec la fonction make :
s := make([]int, 5) // slice de longueur 5, rempli de zéros
s2 := make([]int, 3, 10) // longueur 3, capacité 10
La fonction make alloue un tableau en arrière-plan et retourne un slice qui y fait référence.
- Création d’un slice à partir d’un tableau :
arr := [5]int{1, 2, 3, 4, 5}
s := arr[1:4] // slice des éléments avec indices 1,2,3
Il est important de se rappeler que les slices sont des références à des tableaux, donc modifier les éléments du slice modifie également le tableau d’origine.
Exemple d’utilisation :
package main
import "fmt"
func main() {
s := make([]int, 3, 5)
fmt.Println(s) // [0 0 0]
fmt.Println(len(s)) // 3
fmt.Println(cap(s)) // 5
s = append(s, 4, 5)
fmt.Println(s) // [0 0 0 4 5]
fmt.Println(len(s)) // 5
fmt.Println(cap(s)) // 5
}
Cette approche permet de travailler efficacement avec des tableaux dynamiques en Go.