Nuovo slicing
Lezione 6 di 21 del corso Slice e mappe in GoLang di Coddy.
Go offre qualcosa chiamato rislicing, che consiste nell'eseguire un'altra operazione di slicing sulla slice secondaria. Facciamo un esempio per capirlo correttamente:
s := []string{"games", "coffee", "code", "play", "walk", "read", "learn"}Qui definiamo una slice con 7 elementi. Eseguiamo lo slicing e otteniamo solo i primi 4 elementi su 7:
s := []string{"games", "coffee", "code", "play", "walk", "read", "learn"}
newS := s[0:4]
fmt.Println(newS)Questo restituirà una slice di 4 elementi:
[games coffee code play]Il rislicing è la possibilità di eseguire un'altra operazione di slicing sulla nostra slice newS, proprio così:
s := []string{"games", "coffee", "code", "play", "walk", "read", "learn"}
newS := s[0:4]
fmt.Println("Slicing: ", newS)
newS2 := newS[2:]
fmt.Println("Reslicing: ", newS2)E otterremo:
Slicing: [games coffee code play]
Reslicing: [code play]Nota che quando eseguiamo lo slicing, possiamo accedere agli elementi della slice tramite indice. Per esempio:
s := []string{"games", "coffee", "code", "play", "walk", "read", "learn"}
newS := s[0:4]
fmt.Println("Slicing: ", newS)
fmt.Println(newS[2])In questo esempio, otteniamo l'elemento all'indice 2:
Slicing: [games coffee code play]
codeAllo stesso modo, possiamo modificare il valore:
s := []string{"games", "coffee", "code", "play", "walk", "read", "learn"}
newS := s[0:4]
fmt.Println("Slicing: ", newS)
fmt.Println("Before Modification :", newS[2])
newS[2] = "sleep"
fmt.Println("After Modification :", newS[2])E l'output dovrebbe essere:
Slicing: [games coffee code play]
Before Modification : code
After Modification : sleepInoltre, allo stesso modo, possiamo aggiungere elementi alla slice:
newS := s[0:4]
fmt.Println("Slicing: ", newS)
newS = append(newS, "sleep")
fmt.Println("After Modification :", newS)E il risultato sarà:
Slicing: [games coffee code play]
After Modification : [games coffee code play sleep]Sfida
FacileNel codice fornito, definiamo uno slice di tipo stringa.
- Crea un altro slice chiamato "fruits" e memorizzaci gli ultimi cinque elementi dello slice fornito.
- Stampa lo slice "fruits" sullo schermo.
- Aggiungi due elementi allo slice "fruits":
<strong>"pear"</strong>e<strong>"pineapple"</strong>. - Stampa lo slice "fruits" aggiornato.
Provalo tu
package main
import "fmt"
func main() {
// Definisci la Slice
str:= []string{"apple", "banana", "cherry", "date", "fig", "grape", "kiwi", "lemon", "mango"}
// Ottieni gli ultimi 5 elementi
// Stampa la Slice sullo schermo
// Aggiungi due elementi alla slice
// Stampa la slice aggiornata
}Tutte le lezioni di Slice e mappe in GoLang
1Introduzione
IntroduzioneEsercitati da solo: Compilatore Go online