const sabitleri
- Rust kursu
- Başlangıç
- Ders 9/115
- 4 dk
const ile derleme zamanı sabitleri tanımlarsın.
const sabitleri
const derleme anında bilinen, asla değişmeyen değerler içindir. Türü her zaman açıkça yazılır ve adı geleneksel olarak BÜYÜK_HARF ile yazılır:
const MAKS_PUAN: u32 = 100;
const KDV: f64 = 0.20;
fn main() {
println!("{}", MAKS_PUAN);
}Sabitler fonksiyon dışında (global) tanımlanabilir ve kullanıldıkları her yere derleyici tarafından değer olarak yerleştirilir.
const ile let farkı
let değeri çalışma anında hesaplanabilir (let n = oku();); const ise yalnızca derleme anında hesaplanabilen ifadeler alır (sabitler, aritmetik, const fn çağrıları). const için mut yoktur. Sihirli sayıları (0.20, 100) adlı sabitlere çevirmek kodu okunur yapar.
Uygulama KDV hesabı
const KDV: f64 = 0.20; sabitini tanımla. main içinde let fiyat = 250.0; için KDV'li fiyatı hesapla ve println!("{:.2}", ...) ile yazdır.
Başlangıç kodu
fn main() {
// buraya yaz
}Örnek çözüm
const KDV: f64 = 0.20;
fn main() {
let fiyat = 250.0;
println!("{:.2}", fiyat * (1.0 + KDV));
}Beklenen çıktı
300.00
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 <code>const N = 10;</code> neden derlenmez?
- Ad küçük harf olmalı
- 10 sabit olamaz
- Derlenir
- const için tür açıkça yazılmalıdır Doğru cevap
Açıklama: let'in aksine const tür çıkarımı yapmaz; const N: i32 = 10; yazılmalıdır.
2 Sabit tanımı
____ SANIYE_SAAT: u32 = 60 * 60;
const SANIYE_SAAT: u32 = 60 * 60;
Açıklama: const derleme anında hesaplanan ve değişmeyen bir değer tanımlar.
3 Özellik
| Kavram | Anlamı |
|---|---|
const |
Derleme anı, tür zorunlu |
let |
Çalışma anı, tür çıkarılır |
BÜYÜK_HARF |
Sabit adı geleneği |
const fn |
Sabitte çağrılabilir |