Contenu du cours
Introduction à Golang
Introduction à Golang
Tranches
Les slices sont similaires aux tableaux, mais ils possèdent des longueurs dynamiques, ce qui en fait une alternative plus flexible aux tableaux.
Pour créer un slice, nous utilisons la même syntaxe que pour les tableaux, mais dans ce cas, nous omettons de spécifier la taille.
Créer un slice en utilisant le mot-clé var
:
Créer un slice en utilisant l'opérateur :=
:
Nous pouvons ajouter des éléments supplémentaires à un slice en utilisant la fonction append
. La fonction append
renvoie un nouveau slice avec les éléments ajoutés, que nous pouvons ensuite stocker dans la variable du slice original. Cela deviendra plus clair avec un exemple. La syntaxe de base de la fonction append
est la suivante :
Le code suivant démontre l'utilisation de la fonction append
:
index
randomNumbers := [] int { 1, 4, 5} fmt.Println(randomNumbers) // Output: [1 4 5] randomNumbers = append(randomNumbers, 7, 9) fmt.Println(randomNumbers) // Output: [1 4 5 7 9]
De la même manière que nous pouvons accéder aux éléments d'un tableau, nous pouvons également référencer des portions d'un tableau en utilisant la syntaxe suivante :
index
arrayName[startIndex:endIndex + 1]
Cela extraira tous les éléments de startingIndex
à endingIndex
. Veuillez noter que nous devons fournir endingIndex + 1
. Cela deviendra plus clair avec un exemple. Par exemple :
index
var numbers = [10] int { 2, 4, 6, 9, 10, 12, 14, 16, 17, 19 } fmt.Println(numbers[4:9]) // Output: [10 12 14 16 17]
Il extrait les éléments des index 4
à 9
, incluant l'élément à l'index 4
et excluant l'élément à l'index 9
, comme exprimé dans la syntaxe :
index
arrayName[startingIndex:endingIndex + 1]
Nous pouvons également stocker cette portion extraite du tableau dans une variable, créant ainsi une tranche :
index
var numbers = [10] int { 2, 4, 6, 9, 10, 12, 14, 16, 17, 19 } numbersPart := numbers[2:7] fmt.Println(numbersPart) // Output: [6 9 10 12 14]
Il est important de noter qu'une telle tranche fait référence à la portion du tableau à partir de laquelle elle a été créée. Par conséquent, toute modification apportée dans cette tranche affectera également le tableau original :
index
package main import "fmt" func main() { var pin = [4] int { 1, 2, 3, 4 } part := pin[1:3] fmt.Println(pin) // Output [1, 2, 3, 4] fmt.Println(part) // Output: [2, 3] part[0] *= 2 part[1] *= 3 fmt.Println(part) // Output [4, 9] fmt.Println(pin) // Output [1, 4, 9, 4] }
Merci pour vos commentaires !