1. 📌 Pengertian Fungsi
- Fungsi adalah blok kode yang bisa digunakan kembali untuk menjalankan suatu tugas.
- Didefinisikan dengan kata kunci
fn
.
Contoh:
fn main() {
println!("Hello, world!");
}
2. 🧩 Parameter dan Tipe Data
- Fungsi bisa menerima parameter: ditulis di dalam tanda kurung, dipisahkan dengan koma.
- Setiap parameter harus menyertakan nama dan tipe datanya.
Contoh:
fn print_labeled_measurement(value: i32, unit_label: char) {
println!("The measurement is: {value}{unit_label}");
}
fn main() {
print_labeled_measurement(5, 'h');
}
Output: The measurement is: 5h
3. 🧱 Statements vs Expressions
🧾 Statement:
- Perintah yang menjalankan aksi tanpa mengembalikan nilai.
- Contoh:
let y = 6;
📤 Expression:
- Mengevaluasi dan menghasilkan nilai.
- Bisa dipakai di dalam statement.
Contoh perbedaan:
let y = {
let x = 3;
x + 1 // expression -> nilai 4
};
❌ Salah:
let x = (let y = 6); // ERROR: `let y = 6` adalah statement, bukan expression
4. 🔁 Fungsi dengan Nilai Kembali (Return Value)
✅ Fungsi yang Mengembalikan Nilai
fn five() -> i32 {
5
}
-
-> i32
menunjukkan tipe return-nya. - Baris terakhir tanpa titik koma adalah return value.
fn main() {
let x = five();
println!("The value of x is: {x}");
}
5. 🧠 Fungsi dengan Parameter dan Return Value
fn plus_one(x: i32) -> i32 {
x + 1
}
Output:
fn main() {
let x = plus_one(5);
println!("The value of x is: {x}"); // 6
}
6. ⚠️ Kesalahan Umum: Semicolon di Expression
fn plus_one(x: i32) -> i32 {
x + 1; // ❌ Error: statement tidak mengembalikan nilai
}
⛔ Error: expected i32, found ()
💡 Solusi: hapus titik koma di akhir x + 1
7. ⏪ Return secara eksplisit
fn return_explicitly() -> i32 {
return 10; // bisa juga dengan `return`
}
🧾 Kesimpulan
Konsep | Penjelasan |
---|---|
Fungsi dasar | Didefinisikan dengan fn , bisa dipanggil dari main()
|
Parameter | Ditulis dengan format nama: tipe , pisahkan dengan koma |
Statement | Menjalankan aksi, tidak mengembalikan nilai (let , fn , dll) |
Expression | Menghasilkan nilai, bisa digunakan dalam let atau return |
Return value | Ekspresi terakhir tanpa titik koma atau return digunakan untuk kembali |
Kesalahan umum | Menambahkan ; pada akhir ekspresi terakhir dalam fungsi return |