Menu
CoddyTech

Kapasitas maksimum

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

Pada pelajaran sebelumnya, kita membahas kapasitas dan mengetahui bahwa saat melakukan slicing, kapasitas ditentukan dari posisi awal hingga akhir slice. Namun, kita bisa menggunakan operator atau ekspresi slice untuk mengontrol atau membatasi kapasitas. Mari kita lihat contohnya:

Kita tahu bahwa sintaks operator slice seperti ini: <strong>[start:stop]</strong>, tetapi kita bisa menambahkan opsi ketiga pada operator ini sehingga menjadi seperti ini: <strong>[start:stop:capacity]</strong>. Opsi ketiga memungkinkan kita mengatur kapasitas maksimum slice.

Jadi, dengan menggunakan ekspresi slice lengkap, kamu bisa melakukan slicing pada slice dan sekaligus membatasi kapasitas slice yang dikembalikan dari ekspresi slice ini.

Misalkan kita memiliki slice seperti ini:

numbers := []int{1, 2, 3, 4, 5, 6}

Mari lakukan slicing untuk mendapatkan 3 elemen:

numbers := []int{1, 2, 3, 4, 5, 6}
numSlice := numbers[1:4]

Kita bisa menggambarkannya seperti ini:


Jadi, di sini kita mendapatkan 3 elemen dan kapasitas 5, seperti yang ditunjukkan gambar ini.

Sekarang, jika kita menggunakan kapasitas pada operator slice dan mengaturnya, misalnya, menjadi 3:

numbers := []int{1, 2, 3, 4, 5, 6}
numSlice := numbers[1:4:4]

Anggap kapasitas seperti posisi elemen di sini, kita mengaturnya menjadi 4. Namun, perhatikan bahwa posisi akhir tidak boleh lebih besar daripada posisi kapasitas .

challenge icon

Tantangan

Mudah

Dalam kode yang diberikan, kita mendefinisikan slice bernama coddy dengan 6 elemen.

  • Lakukan operasi slicing untuk mengambil elemen "Tech" dan "Learn Golang" dari slice coddy sambil memastikan bahwa kapasitas akan menjadi 4.

Coba sendiri

package main

import (
	"fmt"
)

func main() {
    // Slice dengan 6 elemen 
	coddy := []string{"Coddy","Tech","Learn Golang","Learn JavaScript","C++","C#"}
	// Lakukan slicing di sini 
	 
	// Tampilkan elemen di layar
	fmt.Println("Elements:" ?)
	// Tampilkan kapasitas
	fmt.Println("Capacity:" ?)

}

Semua pelajaran di Slice dan Map di Go

Latihan sendiri: Compiler Go online