Fungsi Generik di Atas Trait
Tulis satu fungsi untuk banyak tipe.
Fungsi Generik di Atas Trait adalah pelajaran Mojo Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Mojo Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Mojo Academy mencakup 4 pelajaran total.
Satu Fungsi, Banyak Tipe
Kekuatan trait yang sebenarnya adalah kode generik: tulis sebuah fungsi satu kali dan fungsi itu dapat bekerja untuk setiap tipe yang memenuhi trait. 🚀
Trait sebagai Batasan
Anda menggunakan trait sebagai batasan pada parameter generik, yang menjamin bahwa tipe tersebut memiliki metode yang Anda panggil.
Sintaks Parameter Generik
Di dalam tanda kurung siku, Anda menamai parameter tipe dan trait yang harus dipenuhinya, lalu menggunakannya seperti tipe apa pun.
fn announce[T: Greetable](item: T):
print(item.greet())Memanggil Metode Trait
Di dalam fungsi, Anda dapat memanggil metode apa pun yang dijamin oleh trait. Kompilator mengetahui bahwa greet tersedia pada T.
Bekerja untuk Setiap Tipe yang Memenuhi
Teruskan Dog atau Robot ke fungsi yang sama. Keduanya memenuhi Greetable, sehingga keduanya diterima tanpa masalah.
announce(Dog("Rex"))
announce(Robot())Keamanan Tipe Tetap Terjaga
Generik bukan berarti longgar. Jika suatu tipe tidak memenuhi batasan, kompilator menolaknya sebelum program berjalan.
Tanpa Penalti Saat Berjalan
Mojo mengkhususkan kode generik pada waktu kompilasi, dengan menghasilkan versi cepat untuk setiap tipe. Fleksibilitas ini tidak mengorbankan kecepatan.
Lebih Sedikit Pengulangan
Tanpa generik, Anda harus menyalin fungsi untuk setiap tipe. Batasan trait memungkinkan satu definisi melayani semuanya, sehingga mengurangi pengulangan.
Beberapa Batasan
Sebuah parameter dapat memerlukan beberapa trait sekaligus, sehingga memastikan tipe memiliki setiap kemampuan yang dibutuhkan fungsi.
Merancang Berdasarkan Trait
API Mojo yang baik meminta trait terkecil yang diperlukan. Fungsi tetap fleksibel sekaligus menyatakan persyaratan secara tepat.
Gambaran Lengkap
Trait, pemenuhan, dan generik saling berpadu: tentukan kontrak, implementasikan, lalu tulis satu fungsi yang dapat digunakan kembali untuk kontrak tersebut.
fn print_all[T: Stringable](x: T):
print(String(x))Pemeriksaan Singkat
Mengapa menggunakan batasan trait pada fungsi generik?
Rangkuman
Fungsi generik dengan batasan trait dapat bekerja pada semua tipe yang memenuhi trait, serta tetap aman terhadap tipe dan cepat. Kini Anda dapat menulis Mojo yang dapat digunakan kembali! 🎉
Belajar Mojo dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Fungsi Generik di Atas Trait” gratis?
Ya — teks lengkap “Fungsi Generik di Atas Trait” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Mojo Academy, upgrade ke CoddyKit PRO. Kursus Mojo Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Fungsi Generik di Atas Trait”?
Tulis satu fungsi untuk banyak tipe. Kamu berlatih Mojo Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Mojo Academy?
Tidak diperlukan pengalaman sebelumnya. Mojo Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Fungsi Generik di Atas Trait” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Mojo Academy ini?
Ya. Setiap pelajaran Mojo Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Apa Itu Trait?
- Menyesuaikan Struct dengan Trait
- Trait Bawaan seperti Copyable
- Fungsi Generik di Atas Trait