Dart'a Giriş

Bu sayfa, Dart programlama diline kısa bir giriş sunarak temel özellikleri örneklerle anlatmaktadır.

Dart dilini daha fazla tanımak ve öğrenmek için, sol taraftaki menüde listelenen konu sayfalarını ziyaret edebilirsiniz.

Unutmayın ki, Dart'ı keşfetmek heyecan verici bir yolculuktur ve bu yazı size bu yolculukta rehberlik etmeyi amaçlamaktadır. Keyifli okumalar!

Merhaba Dünya

Dart dili yürütmenin başladığı main() fonksiyonuna ihtiyaç duyar. Geri dönüş değeri açıkca belirtilmeyen fonksiyonlar void geri dönüş türüne sahiptir. Metni konsolda görüntülemek için print() fonksiyonunu kullanabilirsiniz:

void main() {
  print('Merhaba, Dünya!');
}

Dart'taki main() fonksiyonu hakkında, komut satırı argümanları için isteğe bağlı parametreler dahil olmak üzere daha fazla bilgi için okumaya devam edin.

Değişkenler

Bir çok değişkeni var anahtar kelimesini kullanarak açıkca veri tipi belirtmeden tanımlayabilirsiniz. Veri tipi çıkarımı özelliği sayesinde, bu değişkenlerin veri tipi başlangıç değerine göre otomatik olarak belirlenir.

var isim = 'Bayram';
var yil = 2000;
var boy = 172.5;
var gezegenler = ['Merkür', 'Venüs', 'Dünya', 'Mars', 'Jüpiter'];
var resim = {
  'etiketler': ['Venüs'],
  'url': '//dizin/venus.jpg'
};

Varsayılan değerler, final ve const anahtar kelimeleri, ve static türler dahil değişkenler hakkında daha fazla bilgi için okumaya devam edin.

Kontrol Akışı İfadeleri

Dart, genel kontrol akışı ifadelerini destekler:

Dart'taki kontrol akışı ifadeleri hakkında, break ve continue, switch ve case, ve assert dahil olmak üzere daha fazla bilgi için okumaya devam edin.

Fonksiyonlar

Her fonksiyonun argümanları ve geri dönüş değeri türlerini belirtmenizi öneririz:

Tek bir ifade içeren fonksiyonlar için ok atama (arrow) sözdizimi, özellikle anonim fonksiyonları argüman olarak iletmek için kullanışlıdır:

Bu kod, bir anonim fonksiyonu (where() fonksiyonuna olan argümanı) göstermenin yanı sıra, bir fonksiyonu bir argüman olarak kullanabileceğinizi gösterir: print() fonksiyonu, forEach() fonksiyonuna olan bir argümandır.

Fonksiyonlar hakkında daha fazla bilgi için, isteğe bağlı parametreler, varsayılan parametre değerleri ve leksikal kapsam dahil olmak üzere Dart'taki fonksiyonlar hakkında okumaya devam edin.

Yorum Satırı

Dart yorumları satırları genellikle // ile başlar.

Dart'ta yorumlar hakkında ve belgelendirme araçları nasıl çalışır, dahil olmak üzere daha fazla bilgi için okumaya devam edin.

Import (İçe Aktarma)

Diğer kütüphanelerde tanımlanan API'lara erişmek için import kullanılır.

Kütüphaneler ve görünürlük hakkında, kütüphane ön ekleri, show ve hide, ve deferred anahtar kelimesi aracılığıyla tembel yükleme dahil olmak üzere Dart'taki daha fazla bilgi için okumaya devam edin.

Class (Sınıflar)

İşte üç özelliği, iki kurucusu ve bir yöntemi olan bir sınıfın örnekleriyle ilgili bir örnek. Bir özelliğin doğrudan ayarlanamaması durumunda, bir değişken yerine bir getter yöntemi kullanılarak tanımlanır.

Daha fazla bilgi için, string içlemeleri, string yerine koyma, ifadeler, ve toString() yöntemi dahil stringler hakkında okumaya devam edin.

UzayAraci sınıfını şu şekilde kullanabilirsiniz:

Başlatıcı listeleri, isteğe bağlı new ve const, yönlendiren kurucular, fabrika kurucular, getter'lar, setter'lar ve daha fazlası dahil olmak üzere Dart'taki sınıflar hakkında daha fazla bilgi için okumaya devam edin.

Enum'lar

Enum'lar, belirli bir küme değeri veya örneği sıralamak için kullanılan bir yoldur ve bu türün başka örneklerinin olmamasını sağlar.

İşte basit bir enum örneği, önceden tanımlanmış gezegen türlerini içeren:

İşte gezegenleri tanımlayan bir sınıfın gelişmiş enum deklarasyonu örneği, kendi güneş sistemimizin gezegenlerini içeren sabit örnek setini tanımlar.

Gezegen enum'ını şu şekilde kullanabilirsiniz:

Dart'ta enum ile ilgili daha fazla bilgi edinmek için, geliştirilmiş enum gereksinimleri, otomatik olarak tanıtılan özellikler, enum değer isimlerine erişim, switch ifadesi desteği ve daha fazlasını içeren konulara odaklanabilirsiniz.

Inheritance (Miras Alma)

Dart, tek miras alma özelliğine sahiptir.

Sınıfları genişletme, isteğe bağlı @override açıklaması ve daha fazlası hakkında bilgi edinin.

Mixin

Mixin, kodu birden fazla sınıf hiyerarşisinde yeniden kullanmanın bir yoludur. Aşağıda bir mixin örneği bulunmaktadır:

Bir sınıfa bir mixin'in yeteneklerini eklemek için sadece mixin'i sınıf ile genişletin.

PilotluArac artık astronotlar alanına sahiptir ve ekiptenBahset() metodunu içerir.

Mixin'ler hakkında daha fazla bilgi edinin.

Interface (Arayüz) ve Abstract (Soyut) Sınıflar

Tüm sınıflar örtük olarak bir arayüz tanımlar. Bu nedenle herhangi bir sınıfı uygulayabilirsiniz.

Örtük arayüzler veya açık arayüz anahtar kelimesi hakkında daha fazla bilgi edinin.

Bir soyut sınıf oluşturarak bir sınıf tarafından genişletilmek (veya uygulanmak) üzere tasarlanmış soyut metodlar içerebilirsiniz. Soyut sınıflar boş gövdeler içeren soyut metodları içerebilir.

Tanitilabilir'i genişleten herhangi bir sınıf, tanimla() metodunun uygulamasına sahip olacak ve vurguIleTanimla() metodunu çağıracaktır.

Abstract sınıfı ve metodlar hakkında daha fazla bilgi edinin.

Async (Asenkron)

Async ve await kullanarak geri çağrı karmaşasını önleyin ve kodunuzu çok daha okunabilir hale getirin.

Yukarıdaki yöntem, aşağıdaki gibi eşdeğerdir:

Aşağıdaki örnek gösterildiği gibi, async ve await asenkron kodu okunması kolay hale getirir.

Ayrıca async* kullanabilirsiniz, bu size güzel, okunabilir bir şekilde akışlar oluşturmanıza olanak tanır.

Asenkron işlemleri destekleyen async fonksiyonlar, Future, Stream ve asenkron döngü (await for) hakkında daha fazla bilgi edinin.

Exceptions (İstisnalar)

Bir istisna çıktısı için throw kullanın:

Bir istisnayı yakalamak için, try ifadesini on veya catch (veya her ikisi) ile kullanın:

Yukarıdaki kod asenkron olduğuna dikkat edin; try, hem senkron kod hem de asenkron fonksiyon içinde çalışır.

İstisnalar hakkında, yığın izleme, yeniden atma ve Hata ile İstisna arasındaki fark gibi konularda daha fazla bilgi edinin.

Last updated