Menu
Coddy logo textTech

Slicing

Lezione 4 di 21 del corso Slice e mappe in GoLang di Coddy.

Approfondiamo il concetto di slicing e parliamo dell’espressione di slice. Lo slicing consiste nel prendere un array o una slice originale e restringerla. Per capirlo meglio, vediamo alcuni esempi.

Supponiamo di avere una slice come questa in Go:

arr := []string{"code", "coffee", "tea", "water"}

Ora, supponiamo di voler ottenere solo "code" e "coffee" da questa slice. Possiamo farlo tramite lo slicing, come mostrato qui sotto:

newArr := arr[0:2]

La sintassi dello slicing è la seguente: <strong>arr[start:stop]</strong>. Specifichiamo il nome della slice o dell’array che vogliamo restringere e, tra parentesi quadre, indichiamo la posizione iniziale, seguita da due punti e poi dalla posizione finale.

La posizione iniziale deve essere l’indice di un elemento all’interno della slice, a partire da zero.

La posizione finale indica la posizione dell’elemento, non l’indice, quindi parte da 1.

Nel nostro esempio, partiamo dall’indice 0 e recuperiamo 2 elementi, esprimendolo come <strong>arr[0:2]</strong>. Se la posizione iniziale è 0, può essere omessa, ottenendo lo stesso risultato:

arr[:2]

In questo modo recuperiamo gli elementi "code" e "coffee" dalla slice.

 Possiamo scegliere liberamente da dove iniziare e dove terminare lo slicing. Per esempio, se vogliamo ottenere "coffee" e "tea" dalla slice, possiamo farlo così:

arr := []string{"code", "coffee", "tea", "water"}
newArr := arr[1:3]

 

challenge icon

Sfida

Facile

Nel codice fornito, definiamo una slice di 6 elementi di tipo stringa. Usa lo slicing per recuperare i valori <strong>"apple"</strong> ,<strong>"orange"</strong> e <strong>"banana"</strong> dalla slice originale e stamparli sullo schermo.

Provalo tu

package main

import "fmt"

func main() {
    // Slice fruits: non modificarla!
	fruits := []string{"pineapple", "kiwi", "apple", "orange", "banana", "grape", "kiwi"}
	// Creazione di una sottosezione della slice fruits
 
	// Stampa la slice sullo schermo 
	 
}

Tutte le lezioni di Slice e mappe in GoLang

Esercitati da solo: Compilatore Go online