Menu
CoddyTech

Tambahkan elemen ke slice

Pelajaran 3 dari 21 dalam kursus Slice dan Map di Go di Coddy.

Pada pelajaran sebelumnya, kita membahas bahwa perbedaan antara slice dan array terletak pada ukurannya, yang terlihat saat memeriksa panjangnya.

Misalnya, jika kita mendefinisikan slice seperti ini:

nums := []int{23, 5, 6}

Slice kita memiliki tiga elemen, dan memeriksa panjangnya menggunakan fungsi <strong>len()</strong> akan menghasilkan 3:

nums := []int{23, 5, 6}
fmt.Println(len(nums)) // 3

Jika kita menambahkan elemen ke slice dan memeriksa ukurannya, kita akan mendapatkan ukuran yang baru:

nums := []int{23, 5, 6, 9, 22}
fmt.Println(len(nums)) // 5

Sebaliknya, array memiliki ukuran tetap. Contohnya:

nums := [4]int{23}
fmt.Println(len(nums)) // 4

Meskipun jumlah elemennya kurang dari 4, panjangnya tetap.

Elemen ditambahkan ke slice menggunakan <strong>append</strong>:

books := []string{"Python", "Rust"}
books = append(books, "Golang")
fmt.Println(books)

Jika dijalankan, hasilnya:

[Python Rust Golang]

Di Golang, slice dilengkapi dengan fungsi bawaan, dan <strong>append()</strong> adalah salah satunya, yang memungkinkan kita menambahkan elemen baru ke slice yang sudah ada.

Perhatikan bahwa karena ukuran slice bersifat dinamis, kita tidak dapat menggunakan indeks untuk menambahkan elemen ( <strong>books[2] = "Golang"</strong> tidak akan berfungsi).

challenge icon

Tantangan

Mudah

Tulis program yang mengambil 3 input dari pengguna dan menambahkannya ke slice bernama <strong>coddy</strong> seperti yang didefinisikan dalam kode yang diberikan. Lakukan langkah-langkah berikut:

  1. Cetak panjang slice sebelum menambahkan elemen.
  2. Tambahkan elemen ke slice.
  3. Cetak slice dan panjang yang diperbarui setelah menambahkan elemen (pada baris yang berbeda).

Coba sendiri

package main

import "fmt"

func main() {
    // Ambil input dari pengguna. Jangan ubah bagian ini!
    var first, second, third string
	fmt.Scan(&first)
	fmt.Scan(&second)
	fmt.Scan(&third)
	// Definisikan slice
    coddy := []string {"SQL","Rust","C#","Golang"}
    // Tampilkan panjangnya
    
    // Tambahkan elemen ke slice
    
    // Tampilkan slice dan panjang terbarunya

}

Semua pelajaran di Slice dan Map di Go

Latihan sendiri: Compiler Go online