Mojo Academy · Pelajaran

Fungsi Generik di Atas Trait

Tulis satu fungsi untuk banyak tipe.

Pelajaran 4 dari 413 langkah

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! 🎉

Gratis untuk memulai

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

  1. Apa Itu Trait?
  2. Menyesuaikan Struct dengan Trait
  3. Trait Bawaan seperti Copyable
  4. Fungsi Generik di Atas Trait
← Kembali ke Mojo Academy