
Struktur Data Go
Arrays, slices, maps, structs, pointers, make vs new, nilai nil
1Apa itu slice di Go?
Apa itu slice di Go?
Jawaban
Slice adalah tampilan dinamis atas array yang mendasarinya yang memungkinkan manipulasi urutan elemen dengan panjang variabel. Berbeda dengan array yang memiliki ukuran tetap yang ditentukan pada saat kompilasi, slice dapat bertambah atau berkurang secara dinamis melalui operasi seperti append. Fleksibilitas ini menjadikannya struktur data sekuensial yang paling umum digunakan di Go untuk menyimpan koleksi elemen yang homogen.
2Apa perbedaan utama antara array dan slice di Go?
Apa perbedaan utama antara array dan slice di Go?
Jawaban
Perbedaan mendasar terletak pada ukuran: array memiliki ukuran tetap yang ditentukan pada saat kompilasi dan merupakan bagian dari tipe itu sendiri, sedangkan slice memiliki ukuran dinamis yang dapat berubah saat runtime. Perbedaan ini berarti dua array dengan ukuran berbeda dianggap tipe yang tidak kompatibel, sementara semua slice dengan tipe elemen yang sama saling kompatibel. Oleh karena itu, slice lebih fleksibel dan lebih umum digunakan dalam kode Go modern.
3Bagaimana cara membuat slice kosong di Go?
Bagaimana cara membuat slice kosong di Go?
Jawaban
Sintaks literal dengan tanda kurung siku kosong diikuti tanda kurung kurawal kosong adalah cara idiomatis untuk membuat slice kosong yang terinisialisasi. Pendekatan ini membuat slice dengan panjang 0 tetapi bukan nil, siap menerima elemen melalui append. Berbeda dengan deklarasi sederhana yang akan menghasilkan slice nil, inisialisasi eksplisit ini menjamin slice yang langsung dapat digunakan tanpa risiko perilaku tak terduga saat menambahkan elemen.
Fungsi mana yang harus digunakan untuk menginisialisasi slice dengan kapasitas tertentu?
Apa yang terjadi saat menambahkan elemen ke slice yang kapasitasnya telah tercapai?
+17 pertanyaan wawancara
Topik wawancara Go lainnya
Dasar-Dasar Go
Interface Go
Penanganan Error
Dasar-Dasar Goroutine
Channels
Go Modules
Server HTTP
Klien HTTP
Enkoding JSON
Database/SQL
Paket context
Testing
Pola Concurrency
Primitif Sinkronisasi
Framework web Go
Desain API REST
gRPC
Reflection
Manajemen Memori
Optimasi Performa
Generics
Go Design Patterns
Microservices
Keamanan dan Autentikasi
Docker & Containerization
Kubernetes Basics
Go Tingkat Lanjut
Pengembangan CLI
Kuasai Go untuk wawancara berikutnya
Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.
Mulai gratis