Menu
CoddyTech

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]
code

Dengan 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 : sleep

Selain 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]
challenge icon

Tantangan

Mudah

Dalam 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