Mojo Academy · Pelajaran

Fungsi Generik merentasi Trait

Tulis satu fungsi untuk pelbagai jenis.

Pelajaran 4 daripada 413 langkah

Fungsi Generik merentasi Trait ialah pelajaran Mojo Academy percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Mojo Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Mojo Academy merangkumi sejumlah 4 pelajaran.

Satu Fungsi, Banyak Jenis

Kekuatan sebenar ciri ialah kod generik: tulis fungsi sekali dan fungsi itu berfungsi untuk setiap jenis yang mematuhinya. 🚀

Ciri Sebagai Had

Anda menggunakan ciri sebagai had pada parameter generik, dengan menjanjikan bahawa jenis tersebut mempunyai kaedah yang anda panggil.

Sintaks Parameter Generik

Di dalam kurungan siku, namakan parameter jenis dan ciri yang mesti dipenuhinya, kemudian gunakan parameter itu seperti mana-mana jenis.

fn announce[T: Greetable](item: T):
    print(item.greet())

Memanggil Kaedah Ciri

Dalam fungsi, anda boleh memanggil mana-mana kaedah yang dijamin oleh ciri. Pengkompil tahu bahawa greet wujud pada T.

Berfungsi untuk Setiap Jenis Yang Mematuhi

Hantar Dog atau Robot kepada fungsi yang sama. Kedua-duanya mematuhi Greetable, jadi kedua-duanya diterima tanpa masalah.

announce(Dog("Rex"))
announce(Robot())

Keselamatan Jenis Kekal Terjamin

Generik bukanlah longgar. Jika sesuatu jenis tidak memenuhi had, pengkompil menolaknya sebelum program berjalan.

Tiada Penalti Masa Jalan

Mojo mengkhususkan kod generik pada masa kompilasi, lalu menjana versi pantas untuk setiap jenis. Fleksibiliti tidak mengorbankan kelajuan.

Kurang Penduaan

Tanpa generik, anda perlu menyalin fungsi untuk setiap jenis. Had ciri membolehkan satu takrifan digunakan untuk semuanya, sekali gus mengurangkan penduaan.

Pelbagai Had

Sesuatu parameter boleh memerlukan beberapa ciri serentak, bagi memastikan jenis itu mempunyai setiap keupayaan yang diperlukan oleh fungsi.

Mereka Bentuk Berasaskan Ciri

API Mojo yang baik meminta ciri paling kecil yang diperlukan. Fungsi kekal fleksibel sambil menyatakan keperluan yang tepat.

Gambaran Keseluruhan

Ciri, pematuhan dan generik bergabung: takrifkan kontrak, laksanakannya, kemudian tulis satu fungsi yang boleh diguna semula berasaskannya.

fn print_all[T: Stringable](x: T):
    print(String(x))

Semakan Pantas

Mengapakah had ciri digunakan pada fungsi generik?

Imbas Kembali

Fungsi generik dengan had ciri berfungsi merentas semua jenis yang mematuhi ciri, sambil kekal selamat dari segi jenis dan pantas. Kini anda boleh menulis Mojo yang boleh diguna semula! 🎉

Percuma untuk bermula

Pelajari Mojo dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
30
Pelajaran
120

Soalan Lazim

Adakah pelajaran “Fungsi Generik merentasi Trait” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Mojo Academy, termasuk “Fungsi Generik merentasi Trait”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Mojo Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Fungsi Generik merentasi Trait”?

Tulis satu fungsi untuk pelbagai jenis. Anda berlatih Mojo Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Mojo Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Mojo Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “Fungsi Generik merentasi Trait” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Mojo Academy ini?

Ya. Setiap pelajaran Mojo Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Apakah Trait?
  2. Menyesuaikan Struct dengan Trait
  3. Trait Terbina dalam seperti Copyable
  4. Fungsi Generik merentasi Trait
← Kembali ke Mojo Academy