Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Tranches | Tableaux et Slices
Introduction à Golang

bookTranches

Les slices sont similaires aux tableaux, mais possèdent des longueurs dynamiques, ce qui en fait une alternative plus flexible aux tableaux.

Pour créer un slice, on utilise la même syntaxe que pour les tableaux, mais dans ce cas, on omet de spécifier la taille.

Création d'un slice à l'aide du mot-clé var :

// Creates an empty slice with no elements
var sliceName [] dataType

// Creates a slice with the specified elements
var sliceName = [] dataType {element_1, element_2, ...}

Création d'un slice à l'aide de l'opérateur := :

// Creates a slice with the specified elements
sliceName := [] dataType { element_1, element_2, ... }

On peut ajouter des éléments supplémentaires à un slice en utilisant la fonction append. La fonction append retourne un nouveau slice avec les éléments ajoutés, que l'on peut ensuite stocker dans la variable du slice d'origine. Cela sera plus clair avec un exemple. La syntaxe de base de la fonction append est la suivante :

append(originalSlice, newElement1, newElement2, …)

Le code suivant illustre l'utilisation de la fonction append :

index.go

index.go

copy
1234
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 l'on peut accéder aux éléments d'un tableau, il est également possible de référencer des portions d'un tableau en utilisant la syntaxe suivante :

index.go

index.go

copy
1
arrayName[startIndex:endIndex + 1]

Cette opération extrait tous les éléments de startingIndex à endingIndex. Il est important de noter qu'il faut indiquer endingIndex + 1. Cela deviendra plus clair avec un exemple. Par exemple :

index.go

index.go

copy
12
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]

Elle extrait les éléments des indices 4 à 9, en incluant l’élément à l’indice 4 et en excluant l’élément à l’indice 9, comme exprimé dans la syntaxe :

index.go

index.go

copy
1
arrayName[startingIndex:endingIndex + 1]

Nous pouvons également stocker cette portion extraite du tableau dans une variable, créant ainsi une tranche :

index.go

index.go

copy
123
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 à cette tranche affectera également le tableau d'origine :

index.go

index.go

copy
12345678910111213
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] }
question mark

Quel sera le résultat du code suivant ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 3

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you show an example of how to use the append function with slices?

How do I access or modify elements in a slice?

What happens if I append elements to a slice created from an array?

Awesome!

Completion rate improved to 1.96

bookTranches

Glissez pour afficher le menu

Les slices sont similaires aux tableaux, mais possèdent des longueurs dynamiques, ce qui en fait une alternative plus flexible aux tableaux.

Pour créer un slice, on utilise la même syntaxe que pour les tableaux, mais dans ce cas, on omet de spécifier la taille.

Création d'un slice à l'aide du mot-clé var :

// Creates an empty slice with no elements
var sliceName [] dataType

// Creates a slice with the specified elements
var sliceName = [] dataType {element_1, element_2, ...}

Création d'un slice à l'aide de l'opérateur := :

// Creates a slice with the specified elements
sliceName := [] dataType { element_1, element_2, ... }

On peut ajouter des éléments supplémentaires à un slice en utilisant la fonction append. La fonction append retourne un nouveau slice avec les éléments ajoutés, que l'on peut ensuite stocker dans la variable du slice d'origine. Cela sera plus clair avec un exemple. La syntaxe de base de la fonction append est la suivante :

append(originalSlice, newElement1, newElement2, …)

Le code suivant illustre l'utilisation de la fonction append :

index.go

index.go

copy
1234
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 l'on peut accéder aux éléments d'un tableau, il est également possible de référencer des portions d'un tableau en utilisant la syntaxe suivante :

index.go

index.go

copy
1
arrayName[startIndex:endIndex + 1]

Cette opération extrait tous les éléments de startingIndex à endingIndex. Il est important de noter qu'il faut indiquer endingIndex + 1. Cela deviendra plus clair avec un exemple. Par exemple :

index.go

index.go

copy
12
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]

Elle extrait les éléments des indices 4 à 9, en incluant l’élément à l’indice 4 et en excluant l’élément à l’indice 9, comme exprimé dans la syntaxe :

index.go

index.go

copy
1
arrayName[startingIndex:endingIndex + 1]

Nous pouvons également stocker cette portion extraite du tableau dans une variable, créant ainsi une tranche :

index.go

index.go

copy
123
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 à cette tranche affectera également le tableau d'origine :

index.go

index.go

copy
12345678910111213
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] }
question mark

Quel sera le résultat du code suivant ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 3
some-alt