Buat Slice dengan make
Pelajaran 12 dari 21 dalam kursus Slice dan Map di Go di Coddy.
Di pelajaran sebelumnya, kita membuat slice menggunakan literal slice. Namun, ada fungsi lain yang disebut <strong>make</strong>. Fungsi ini memungkinkanmu mengalokasikan backing array untuk slice dengan panjang dan kapasitas tertentu. Fungsi seperti <strong>make</strong> diperlukan karena panjang slice belum ditentukan sebelumnya. Jadi, fungsi <strong>make</strong> memungkinkanmu membuat slice dengan panjang yang ditentukan.
Namun, jangan salah paham, panjangnya tidak menjadi tetap. Kamu tetap bisa menambahkan elemen ke dalamnya.
Sintaks fungsi <strong>make</strong> adalah sebagai berikut:
mySlice = make([]string, 4)Kamu hanya perlu menggunakan <strong>make</strong>, dan argumen pertama (<strong>[]string</strong>) menjelaskan tipe slice, sedangkan argumen kedua (<strong>4</strong>) memberi tahu <strong>make</strong> panjang yang kita perlukan untuk slice. Argumen kedua juga menjelaskan kapasitas backing array. Jadi, panjang dan kapasitas slice yang dikembalikan menjadi sama.
Sekarang, pertanyaannya adalah mengapa kita perlu menggunakan fungsi <strong>make</strong> untuk membuat slice jika kita bisa menggunakan literal slice sederhana?
Jawabannya, dalam beberapa situasi, kita perlu menambahkan nilai baru ke slice. Jika kapasitasnya tidak cukup, slice akan membuat backing array baru. Operasi ini membutuhkan cukup banyak memori karena memerlukan alokasi ulang. Fungsi <strong>make</strong> mencegah alokasi ulang ini dengan mengalokasikan ruang terlebih dahulu di memori.
Dengan <strong>make</strong>, kita bisa menentukan panjang dan kapasitas dengan nilai yang berbeda seperti ini:
mySlice = make([]string, 4, 6)Secara umum, fungsi <strong>make</strong> dapat direpresentasikan seperti yang ditunjukkan di bawah ini:
Tantangan
MudahGunakan fungsi <strong>make</strong> untuk membuat slice bernama <strong>coddy</strong> dengan panjang 4 dan kapasitas 5.
- Tambahkan nilai "Learn Golang" ke indeks 0.
- Tambahkan nilai "Coddy.tech" ke indeks 3.
- Lakukan perulangan pada slice ini menggunakan kata kunci
<strong>range</strong>, lalu cetak indeks dan nilai ke layar.
Coba sendiri
package main
import "fmt"
func main() {
// Buat slice coddy dengan make
// Tambahkan elemen pada indeks 0 dan 3
// Iterasi slice coddy
}Semua pelajaran di Slice dan Map di Go
3Cara Kerja Slice
Slice adalah arrayBuat Slice dengan makeSalin SliceHapus ElemenTantangan Ulasan #1Tantangan Ulasan #2Latihan sendiri: Compiler Go online