
Generics
Type parameters, constraints, comparable, any, fungsi generik, tipe generik, inferensi tipe
1Apa itu type parameter di Go?
Apa itu type parameter di Go?
Jawaban
type parameter adalah variabel tipe yang digunakan dalam definisi fungsi atau tipe generik, dideklarasikan di dalam tanda kurung siku. Ini memungkinkan penulisan kode yang dapat digunakan kembali yang bekerja dengan tipe berbeda tanpa mengorbankan type safety. type parameter diinstansiasi dengan type argument konkret saat digunakan, memungkinkan compiler memverifikasi konsistensi tipe pada waktu kompilasi alih-alih pada waktu eksekusi.
2Apa sintaks yang benar untuk mendeklarasikan fungsi generik sederhana?
Apa sintaks yang benar untuk mendeklarasikan fungsi generik sederhana?
Jawaban
Sintaks yang benar untuk mendeklarasikan fungsi generik menggunakan tanda kurung siku segera setelah nama fungsi untuk mendefinisikan type parameter. Constraint any memungkinkan penerimaan tipe apa pun, mirip dengan interface{} tetapi dengan semantik yang lebih jelas dalam konteks generics. Sintaks ini diperkenalkan di Go 1.18 untuk memungkinkan pemrograman generik sambil mempertahankan kesederhanaan bahasa.
3Apa yang direpresentasikan oleh constraint 'any' di Go?
Apa yang direpresentasikan oleh constraint 'any' di Go?
Jawaban
Constraint any adalah alias untuk interface{} yang merepresentasikan himpunan semua tipe yang mungkin di Go. Ini memungkinkan type parameter menerima tipe apa pun tanpa batasan, menawarkan fleksibilitas maksimal. Meskipun praktis, menggunakan any berarti melepaskan pemeriksaan tipe spesifik dan sering kali memerlukan type assertion untuk mengakses metode atau properti dari tipe yang mendasarinya.
Apa perbedaan utama antara 'any' dan 'comparable' sebagai constraint?
Bagaimana cara mendeklarasikan tipe generik kustom seperti stack?
+17 pertanyaan wawancara
Topik wawancara Go lainnya
Dasar-Dasar Go
Struktur Data 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
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