Dart dilinde const ve final anahtar kelimeleri, değişkenlerin nasıl tanımlandığını ve değerlerinin nasıl saklandığını kontrol etmek için kullanılır. Bunları anlamak için önce temel farkları ve kullanım alanlarını açıklayalım.
final
finalanahtar kelimesi, bir değişkenin sadece bir kez atanabileceğini ifade eder. Yani, bir değişkenifinalolarak tanımlarsanız, ona bir değer atadıktan sonra bu değeri bir daha değiştiremezsiniz.- Değeri çalışma zamanında (runtime) atanabilir.
Örnek:
dartKodu kopyalavoid main() {
final int sayi = 5; // Bir kere atandıktan sonra değiştirilemez
print(sayi); // 5
//sayi = 10; // Hata verir: 'sayi' already assigned
}
const
constanahtar kelimesi, bir değişkenin derleme zamanında (compile-time) sabit bir değere sahip olacağını ifade eder.constile tanımlanan bir değişken, program çalışmadan önce değeri bilinen ve değiştirilemeyen bir değere sahiptir.constdeğişkenler derleme zamanında sabit olduğu için, sadece sabit değerlere atanabilirler. Bu, performans optimizasyonu sağlar.
Örnek:
dartKodu kopyalavoid main() {
const int sabitSayi = 10; // Derleme zamanında sabitlenir
print(sabitSayi); // 10
//sabitSayi = 20; // Hata verir: Constant variables can't be assigned a value.
}
final ve const Arasındaki Farklar
finaldeğişkenler çalışma zamanında (runtime) atanabilirken,constdeğişkenler derleme zamanında (compile-time) sabitlenir.constdeğişkenler gerçekten sabit değerlerdir ve her yerde aynı değeri paylaşırlar.finaldeğişkenler ise atanmış oldukları yerdeki değeri alırlar ve o değeri korurlar.
Özet
final: Bir kez atandıktan sonra değiştirilemeyen, ancak değeri çalışma zamanında atanabilen değişkenler için kullanılır.const: Derleme zamanında sabitlenen ve değiştirilemeyen değişkenler için kullanılır.
Bir yanıt bırakın