Inferensi Tipe
Termasuk bagian Dasar-Dasar dalam perjalanan Rust di Coddy. Pelajaran 12 dari 75.
Di Rust, inferensi tipe memungkinkan compiler menyimpulkan tipe variabel secara otomatis berdasarkan nilai dan penggunaannya. Artinya, kamu sering tidak perlu menentukan tipe secara eksplisit saat mendeklarasikan variabel, sehingga kodemu lebih ringkas dan mudah dibaca.
Contohnya:
let x = 5;
// Rust menyimpulkan bahwa x bertipe i32
let y = 3.14;
// Rust menyimpulkan bahwa y bertipe f64
let message = "Hello, world!";
// Rust menyimpulkan bahwa message bertipe &str (string)
let is_true = true;
// Rust menyimpulkan bahwa is_true bertipe boolDalam contoh-contoh ini, kita tidak menentukan tipe x, y, message, dan is_true. Compiler Rust secara otomatis menyimpulkan tipe mereka berdasarkan nilai yang diberikan kepada mereka.
Inferensi tipe tidak hanya praktis, tetapi juga membantu mencegah error. Compiler memeriksa cara variabel digunakan dan memastikan tipe yang disimpulkan konsisten di seluruh kode. Jika terjadi konflik, compiler akan menghasilkan error.
Tantangan
PemulaTulis program Rust yang menunjukkan inferensi tipe. Deklarasikan dan inisialisasi variabel berikut tanpa anotasi tipe eksplisit:
- Variabel bernama
quantitydengan nilai10. - Variabel bernama
pricedengan nilai99.99. - Variabel bernama
messagedengan nilai"Coddy is awesome!". - Variabel bernama
is_availabledengan nilaitrue.
Setelah mendeklarasikan variabel-variabel ini, gunakan println!() untuk menampilkan nilainya di konsol. Amati bagaimana Rust menyimpulkan tipe variabel-variabel ini berdasarkan nilainya.
Coba sendiri
fn main() {
// Deklarasikan variabel di sini
// Tampilkan nilainya
println!("Quantity: {}", quantity);
println!("Price: {}", price);
println!("Message: {}", message);
println!("Is available: {}", is_available);
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 1
Operator AritmetikaOperator ModuloPintasan AritmetikaOperator PerbandinganPerbandingan String7Input/Output Dasar
Menampilkan teks di konsolMembaca input penggunaUlasan: Hingga 120Ulasan: Benar atau Salah5Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Ulasan: Logika SederhanaOperator Logika Bagian 311Fungsi
Mendeklarasikan FungsiParameter dan ArgumenNilai KembalianBeberapa Nilai KembalianRingkasan: Fungsi SigmaRingkasan: Fungsi Validasi14Iterasi pada Array
Panduan RangeFor Loop yang DisempurnakanBorrow dalam LoopOperasi Umum pada Array3Variabel Bagian 2
Deklarasi TipeKonvensi PenamaanInferensi TipeRangkuman: Inisialisasi VariabelKonversi Tipe9Perulangan
For untuk Menelusuri UrutanWhile LoopBreakContinueNested LoopLabel LoopInfinite LoopRingkasan: Input DinamisLatihan sendiri: Compiler Rust online