Capacità massima
Lezione 8 di 21 del corso Slice e mappe in GoLang di Coddy.
Nella lezione precedente abbiamo parlato della capacità e abbiamo imparato che, quando eseguiamo uno slicing, la capacità viene determinata dalla posizione iniziale fino alla posizione finale dello slice. Tuttavia, possiamo usare l’operatore o l’espressione di slicing per controllare o limitare la capacità. Vediamo un esempio:
Sappiamo che la sintassi dell’operatore di slicing è questa: <strong>[start:stop]</strong>, ma possiamo aggiungere una terza opzione a questo operatore, ottenendo: <strong>[start:stop:capacity]</strong>. La terza opzione ci consente di impostare la capacità massima dello slice.
Quindi, usando un’espressione di slicing completa, puoi eseguire lo slicing di uno slice e, allo stesso tempo, limitare la capacità dello slice restituito da questa espressione.
Supponiamo di avere uno slice come questo:
numbers := []int{1, 2, 3, 4, 5, 6}Eseguiamo lo slicing per ottenere 3 elementi:
numbers := []int{1, 2, 3, 4, 5, 6}
numSlice := numbers[1:4]Possiamo rappresentarlo così:
Quindi qui otteniamo 3 elementi e una capacità di 5, proprio come mostra questa immagine.
Ora, se usiamo la capacità nell’operatore di slicing e la impostiamo, per esempio, a 3:
numbers := []int{1, 2, 3, 4, 5, 6}
numSlice := numbers[1:4:4]Pensa alla capacità come alla posizione dell’elemento qui: la impostiamo a 4. Ma tieni presente che la posizione di arresto non può essere maggiore della posizione della capacità .
Sfida
FacileNel codice fornito, definiamo una slice denominata coddy con 6 elementi.
- Esegui un'operazione di slicing per estrarre gli elementi "Tech" e "Learn Golang" dalla slice coddy, assicurandoti che la capacità sia 4.
Provalo tu
package main
import (
"fmt"
)
func main() {
// Una slice di 6 elementi
coddy := []string{"Coddy","Tech","Learn Golang","Learn JavaScript","C++","C#"}
// Esegui lo slicing qui
// Stampa gli elementi sullo schermo
fmt.Println("Elements:" ?)
// Stampa la capacità
fmt.Println("Capacity:" ?)
}
Tutte le lezioni di Slice e mappe in GoLang
1Introduzione
IntroduzioneEsercitati da solo: Compilatore Go online