Capacité maximale
Leçon 8 sur 21 du cours Slices et Maps en Golang de Coddy.
Dans la leçon précédente, nous avons parlé de la capacité et avons appris que lorsque nous effectuons un découpage (slicing), la capacité est déterminée de la position de départ jusqu'à la fin de la tranche. Cependant, nous pouvons utiliser l'opérateur ou l'expression de découpage pour contrôler ou limiter la capacité. Voyons un exemple :
Nous savons que la syntaxe de l'opérateur de découpage est la suivante : <strong>[start:stop]</strong>, mais nous pouvons ajouter une troisième option à cet opérateur pour qu'il ressemble à ceci : <strong>[start:stop:capacity]</strong>. La troisième option nous permet de définir la capacité maximale de la tranche.
Ainsi, en utilisant une expression de découpage complète, vous pouvez découper une tranche et, en même temps, limiter la capacité de la tranche renvoyée par cette expression de découpage.
Supposons que nous ayons une tranche comme celle-ci :
numbers := []int{1, 2, 3, 4, 5, 6}Découpons-la pour obtenir 3 éléments :
numbers := []int{1, 2, 3, 4, 5, 6}
numSlice := numbers[1:4]Nous pouvons représenter cela comme ceci :
Ici, nous obtenons 3 éléments et une capacité de 5, tout comme ce que démontre cette image.
Maintenant, si nous utilisons la capacité dans l'opérateur de découpage et que nous la définissons, par exemple, à 3 :
numbers := []int{1, 2, 3, 4, 5, 6}
numSlice := numbers[1:4:4]Considérez la capacité tout comme la position de l'élément ici ; nous l'avons fixée à 4. Mais notez que la position d'arrêt (stopping) ne peut pas être supérieure à la position de capacité.
Défi
FacileDans le code donné, nous définissons un slice nommé coddy avec 6 éléments.
- Effectuez une opération de slicing pour extraire les éléments "Tech" et "Learn Golang" du slice coddy tout en vous assurant que la capacité sera de 4.
Essayez vous-même
package main
import (
"fmt"
)
func main() {
// Un slice de 6 éléments
coddy := []string{"Coddy","Tech","Learn Golang","Learn JavaScript","C++","C#"}
// Effectuez le slicing ici
// Affichez les éléments à l'écran
fmt.Println("Elements:" ?)
// Affichez la capacité
fmt.Println("Capacity:" ?)
}
Toutes les leçons de Slices et Maps en Golang
1Introduction
Introduction