Generics
Bagian dari kursus Go
Kamu menulis sebuah function yang mencari angka terbesar di dalam slice of int. Lalu kamu butuh versi untuk float64, jadi function itu kamu salin dan dua kata di dalamnya kamu ganti. Lalu satu lagi untuk string. Sekarang ada tiga function yang nyaris identik, dan begitu kamu memperbaiki satu bug di salah satunya, kamu masih harus ingat pada dua sisanya.
Selama hampir sepanjang hidupnya, Go tidak punya jawaban yang rapi untuk hal ini. Pilihannya cuma dua: duplikasi function itu, atau pakai interface{} yang menerima apa saja tetapi melepas seluruh pengecekan tipe, sehingga compiler tidak lagi bisa memberi tahu kamu kalau slice yang kamu kirim isinya salah. Duplikasi atau buta, pilih salah satu.
Ingin belajar Go Generics di lingkungan nyata?
Klik di bawah, dapatkan mesin Linux dengan Go siap pakai, dan kerjakan Generics secara praktik dengan tutor AI yang memahami kodemu.
Mulai pelajaran iniGenericsYang akan kamu pelajari
- Type parameters with [T any]
- Constraints
- Comparable
- Tilde approximation ~int
- Generic Map and Filter
- When generics help, when they do not
