CodeBlanks Logo Icon CodeBlanks

const sabitleri

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

main.rs
fn main() {
    // buraya yaz
}

Örnek çözüm

main.rs
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ı

Soru
____ SANIYE_SAAT: u32 = 60 * 60;
Cevap
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

Başlangıç bölümündeki tüm dersler

16 Proje: Yapılacaklar listesi

  1. Görev modeli
  2. Ekleme
  3. Listeleme
  4. İşaretleme
  5. Komut okuma