Creare slice da slice/array esistenti
Fa parte della sezione Fondamenti del percorso GO di Coddy. Lezione 80 di 109.
Puoi creare una nuova porzione da una porzione o un array esistente specificando un intervallo con la sintassi [start:end].
Crea una slice di numeri:
numbers := []int{10, 20, 30, 40, 50}
fmt.Println("Original:", numbers)Estrai gli elementi dall'indice 1 a 3 (escluso 3):
slice1 := numbers[1:3]
fmt.Println("Slice [1:3]:", slice1)Risultato:
Original: [10 20 30 40 50]
Slice [1:3]: [20 30]Puoi anche omettere l'indice iniziale o finale:
slice2 := numbers[:2] // Dall'inizio all'indice 2 (escluso 2)
slice3 := numbers[3:] // Dall'indice 3 fino alla fine
fmt.Println("Slice [:2]:", slice2)
fmt.Println("Slice [3:]:", slice3)Risultato:
Slice [:2]: [10 20]
Slice [3:]: [40 50]Sfida
PrincipianteIn questa sfida, ti eserciterai a creare nuove sottoslice ricavandole da una slice esistente. Hai una slice di frutti e devi crearne due nuove:
- Una slice contenente solo i primi tre frutti
- Una slice contenente solo gli ultimi due frutti
Quindi stampa entrambe le nuove slice per verificare il tuo lavoro.
Provalo tu
package main
import "fmt"
func main() {
// Ecco il nostro slice originale di frutti
fruits := []string{"apple", "banana", "orange", "grape", "kiwi"}
// TODO: Crea un nuovo slice chiamato 'firstThree' che contenga solo i primi tre frutti
// TODO: Crea un nuovo slice chiamato 'lastTwo' che contenga solo gli ultimi due frutti
// Stampa i risultati
fmt.Println("First three fruits:", firstThree)
fmt.Println("Last two fruits:", lastTwo)
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori di confronto e logici
Operatori di confronto - Parte 1Operatori di confronto - Parte 2Operatore AND logicoOperatore OR logicoOperatore NOT logicoNozioni di base sulla precedenza degli operatoriRiepilogo - Eseguire confronti7Flusso di controllo: cicli
Come funziona il ciclo `for`Ciclo `for` - baseCiclo `for` - solo condizioneLa parola chiave `break`La parola chiave `continue`Cicli annidatiRiepilogo - ripetere le azioni2Variabili e tipi di dati di base
Che cos'è una variabileInferenza del tipo con `:=`Numeri interi (int)Numeri in virgola mobileValori booleaniStringheValori zeroCostantiConvenzioni di denominazioneRiepilogo: variabili e tipi5Input/output di base
Output formattatoVerbi di formattazioneVisualizzazione dei tipiAcquisire input di base dall’utenteRiepilogo - Input e output8Funzioni
Capire le funzioniDichiarare una funzioneChiamare le funzioniParametri delle funzioniRestituire un singolo valoreRestituire più valoriValori restituiti con nomeFondamenti dell'ambito delle funzioniRiepilogo - Creare codice riutilizzabile11Tipi compositi: slice
Introduzione alle sliceDichiarare valori letterali di sliceCreare slice con `make`Lunghezza e capacità di una sliceAccedere agli elementi di una sliceAggiungere elementiCreare slice da slice/array esistentiIterare sulle sliceCopiare le sliceRiepilogo - Liste dinamiche3Operatori di base
Operatori aritmeticiOperatore di divisioneL'operatore moduloOperatore di assegnazioneOperatori di assegnazione compostaIncremento e decrementoRiepilogo - Calcoli6Flusso di controllo: condizioni
L'istruzione `if`La parola chiave `else`La parola chiave `else if`Ombreggiamento delle variabili in `if`Inizializzare le variabiliL'istruzione `switch``switch` con espressioni`switch` senza espressioneLa parola chiave `fallthrough`Riepilogo: prendere decisioni9Puntatori
Che cos’è un puntatore?Dichiarare variabili puntatoreL’operatore indirizzoDereferenziare i puntatoriUsare i puntatori nelle funzioniPuntatori nilRipasso - Capire i puntatori12Tipi compositi: mappe
Introduzione alle mappeDichiarare i letterali delle mappeCreare mappe con `make`Aggiungere e aggiornare coppie chiave-valoreAccedere ai valori delle mappeVerificare l'esistenza di una chiaveEliminare elementi dalle mappeLunghezza delle mappeIterare sulle mappeRiepilogo - Archiviazione chiave-valoreEsercitati da solo: Compilatore Go online