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 .
Tantangan
MudahDalam 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