Menu
Coddy logo textTech

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 :


opérateur de découpage

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é.

capacité maximale
challenge icon

Défi

Facile

Dans 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