Slicing ulang
Pelajaran 6 dari 21 dalam kursus Slice dan Map di Go di Coddy.
Go menawarkan sesuatu yang disebut reslicing, yang berarti melakukan pengirisan lain pada subslice. Mari kita lihat contoh agar kamu memahaminya dengan benar:
s := []string{"games", "coffee", "code", "play", "walk", "read", "learn"}Di sini, kita mendefinisikan slice dengan 7 elemen. Mari kita iris slice ini dan ambil hanya 4 elemen pertama dari 7 elemen:
s := []string{"games", "coffee", "code", "play", "walk", "read", "learn"}
newS := s[0:4]
fmt.Println(newS)Ini akan menghasilkan slice dengan 4 elemen:
[games coffee code play]Reslicing adalah kemampuan untuk melakukan pengirisan lain pada slice newS kita, seperti ini:
s := []string{"games", "coffee", "code", "play", "walk", "read", "learn"}
newS := s[0:4]
fmt.Println("Slicing: ", newS)
newS2 := newS[2:]
fmt.Println("Reslicing: ", newS2)Hasilnya:
Slicing: [games coffee code play]
Reslicing: [code play]Perhatikan bahwa saat melakukan pengirisan, kita bisa mengakses elemen slice berdasarkan indeks. Contohnya:
s := []string{"games", "coffee", "code", "play", "walk", "read", "learn"}
newS := s[0:4]
fmt.Println("Slicing: ", newS)
fmt.Println(newS[2])Dalam contoh ini, kita mendapatkan elemen pada indeks 2:
Slicing: [games coffee code play]
codeDengan cara yang sama, kita bisa mengubah nilainya:
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])Hasil outputnya akan seperti ini:
Slicing: [games coffee code play]
Before Modification : code
After Modification : sleepSelain itu, dengan cara yang sama, kita bisa menambahkan elemen ke slice:
newS := s[0:4]
fmt.Println("Slicing: ", newS)
newS = append(newS, "sleep")
fmt.Println("After Modification :", newS)Hasilnya:
Slicing: [games coffee code play]
After Modification : [games coffee code play sleep]Tantangan
MudahDalam kode yang diberikan, kita mendefinisikan slice bertipe string.
- Buat slice lain bernama "fruits" dan simpan lima elemen terakhir dari slice yang diberikan di dalamnya.
- Cetak slice "fruits" ke layar.
- Tambahkan dua elemen ke slice "fruits":
<strong>"pear"</strong>dan<strong>"pineapple"</strong>. - Cetak slice "fruits" yang telah diperbarui.
Coba sendiri
package main
import "fmt"
func main() {
// Definisikan slice
str:= []string{"apple", "banana", "cherry", "date", "fig", "grape", "kiwi", "lemon", "mango"}
// Ambil 5 elemen terakhir
// Tampilkan slice di layar
// Tambahkan dua elemen ke slice
// Tampilkan slice yang sudah diperbarui
}Semua pelajaran di Slice dan Map di Go
Latihan sendiri: Compiler Go online