Fungsi ialah binaan pengaturcaraan penting kerana ia meletakkan asas untuk kebolehgunaan semula kod dan memudahkan pengaturcaraan modular. Fungsi ialah blok kod serba lengkap yang melaksanakan tugas tertentu. Mereka boleh menerima input, dalam bentuk argumen, dan mengembalikan nilai.
Rust menyediakan fungsi untuk organisasi kod, enkapsulasi dan kebolehgunaan semula kod.
MAKEUSEOF VIDEO OF THE DAY
Mentakrifkan Fungsi dalam Karat
Fungsi karat adalah seperti berfungsi dalam mana-mana bahasa pengaturcaraan lain , walaupun terdapat perbezaan kecil yang anda perlu fahami.
Anda akan menentukan fungsi untuk program Rust anda dengan fn kata kunci diikuti dengan nama fungsi, argumen pilihan dan pulangan pilihan jenis data .
// function that neither takes in arguments nor returns a value
fn function_name() {
// function body here
}
Berikut ialah fungsi Rust mudah yang tidak mengambil sebarang hujah atau mengembalikan sebarang nilai.
fn a_function(){
let x = 3;
println!("{}", x)
}
a_function ialah fungsi Rust mudah yang mencetak pembolehubah x .
Tandatangan Fungsi Karat
Tandatangan fungsi ialah cara menamakan fungsi, dan menerangkan hujahnya dan jenis pengembalian, tanpa memasukkan badan fungsi. Tandatangan fungsi berguna untuk mendokumentasikan API perpustakaan Rust.
Berikut ialah contoh tandatangan fungsi Rust:
fn name()
fn greet(name: &str)
The nama fungsi ialah tandatangan fungsi minimum, manakala Salam tandatangan menyatakan bahawa fungsi itu mengambil satu hujah, nama , daripada jenis rentetan ( &str ).
Mengisytiharkan Fungsi Dengan Argumen dan Nilai Kembali
Fungsi karat boleh menerima banyak hujah dan hadnya tidak ditakrifkan dengan jelas. Fungsi dengan hujah biasanya lebih fleksibel kerana ia boleh mengambil nilai daripada fungsi dan bahagian kod lain.
Berikut ialah model tipikal fungsi Rust yang mengambil hujah:
fn function_name(arg: type, arg2: type) {
// function body here
}
Jenis hujah fungsi boleh menjadi jenis terbina dalam Rust atau jenis tersuai daripada program anda.
apa maksud tbh dalam teks
Berikut ialah contoh fungsi mudah yang mengambil dua integer sebagai hujah:
fn add_numbers(x: i32, y: i32) {
println!("{}", x + y);
}
The tambah_nombor fungsi mengambil dua integer 32-bit dan mencetak jumlah integer.
Fungsi karat boleh mengembalikan berbilang nilai; anda perlu menentukan jenis pulangan dan mengembalikan nilai jenis daripada fungsi.
fn function_name(arg: type, arg2: type) -> (type, type) {
// function body here
return arg, arg2
}
Berikut ialah fungsi yang mengambil rentetan dan integer 32-bit sebagai argumen dan mengembalikan argumen sebagai tupel.
fn string_and_integer(s: String, n: i32) -> (String, i32) {
return (s, n);
}
The rentetan_dan_integer fungsi mengambil rentetan dan integer 32-bit, mengembalikannya sebagai tupel. Anda hanya boleh mengembalikan satu nilai daripada fungsi Rust.
Anda boleh meninggalkan kembali kata kunci apabila mengembalikan ungkapan akhir daripada fungsi, untuk menjadikan kod lebih ringkas.
fn string_and_integer(s: String, n: i32) -> (String, i32) {
return (s, n);
}
// the functions are equivalent
fn str_and_int(s: String, n: i32) -> (String, i32) {
(s, n)
}
Kedua-dua fungsi ini mempunyai gelagat yang sama kerana kedua-duanya mengambil rentetan dan integer dan mengembalikan argumen tersebut sebagai tuple.
Memanggil Fungsi Karat
Anda boleh memanggil satu fungsi daripada yang lain dengan menulis namanya diikuti dengan nilai yang anda mahu berikan kepadanya di dalam kurungan:
fn add_numbers(x: i32, y: i32) -> i32 {
x + y
}
fn main() {
let result = add_numbers(3, 5);
println!("The result is {}", result); // Output: The result is 8
}
The utama panggilan fungsi tambah_nombor , melepasinya dua integer. Ia memberikan hasil fungsi kepada pembolehubah, hasil .
Anda Boleh Mengisytiharkan Fungsi untuk Struktur Karat
Anda boleh mengisytiharkan fungsi dalam struct Rust. Ini menjadi kaedah untuk struct yang boleh mengakses dan mengubah suainya.
Karat bukan berorientasikan objek semata-mata, tetapi ia menyediakan struct untuk mengumpulkan data berkaitan. Anda boleh berusaha untuk melaksanakan konsep OOP dalam Rust menggunakan struct dengan kaedah.