Merhaba arkadaşlar, Bu dersimize kadar Flutter hakkında bilgi sahibi olduk ve Flutter’ı kullanabilmek için Android Studio’ya kurulumumuzu tamamladık. Artık Dart Dilinde Temel İşlemler’ e başlayabiliriz, fakat daha hakim bir şekilde konular üzerinde ilerlemek için tabi ki Flutter’ın temel yapı taşı olan Dart dilini öğrenmemiz gerekir. Bize ismen yabancı gelen ama aslında kullanımı çok tanıdık olan bu programlama dilindeki en önemli özelliklere vurgu yapacağız.
İlk dersimizde belirttiğimiz gibi Dart programlama dili: C temelli dillere çok benzer. Dart dilini, dilerseniz direk kendi websitesindeki derleyici alanında deneyebilir; dilerseniz de VSCode ile kullanabilirsiniz.
Genel olarak Dart programlama dili de diğer programlama dilleri gibi, aynı değişkenler; veri tiplerine; kontrol ve döngü yapılarına; fonksiyonlara; operatörlere sahiptir. Bu dersimizde sadece diğer programa dillerinden farklı olan kısımlarına değineceğiz.
Dart Dilinde Temel İşlemler
Değişkenler ve Veri Tipleri
String, integer gibi genel veri tiplerinden yanı sıra olarak kullandığımız farklı; önemli 2 veri tipinden bahsedeceğiz.
- var
- dynamic
var veri tipi, belli bir değere sahip değildir. İstediğimiz değişkeni atayabiliriz, fark etmez. Dilerseniz string dilerseniz integer değer verebilirsiniz, var ile tanımlanan değişkene. Aşağıda örneklerini görebilirsiniz.
dynamic veri tipi, değişken bir yapıya sahiptir. dynamic ile oluşturduğumuz değişkeni ilk string veri tipinde tanımlayıp daha sonra aynı değişkene integer bir değer atayabiliyoruz. Tabi bu string ve integer örneğimiz, en yaygın değişken tipleri olduğu için sürekli kullanıyorum. Double, bool gibi değişkenler de kullanılabilir.
Kontrol ve Döngü Yapıları
Bildiğimiz kontrol ve döngülerine sahip Dart programlama diline ait sadece Ternary İf‘ten bahsedeceğiz.
Ternary İf dediğimiz şey ise, if kontrol yapısının kısa kullanımıdır. Aşağıdaki örnekte kullanımını görebilirsiniz.
Operatörler ve fonksiyon yapılarında, diğer C temelli programlama dillerinden farkı yoktur. Bunun için ayrıntıya girmeyeceğiz bu konularda.
Listeler
Dart programlama dilinde, Array yapısı yoktur. Bunun yerine List yapısını kullanırız. Birden fazla veriyi tutmak için kullandığımız bu List yapısı da ikiye ayrılır:
- Sabit uzunluklu
- Büyüyen yapıya sahip
Aşağıda bu iki özelliğiyle de tanımlama şekillerini görebilirsiniz. List yapısı, alacağı değerlere göre değişken veri tipi alabilir. Veriler, sıralıdır. List yapısına veri eklemek, silmek gibi işlevleri hazır methodları ile kolayca yapabiliriz.
Set Yapısı (Çekiliş)
Set yapısı da, List gibi birden fazla verileri tutmak için kullandığımız bir liste türüdür. List ile aynı özelliklere sahiptir.
List’ten farklı olarak;
- Sırasızdır.
- 2 aynı eleman bulunumaz. (Unique)
Bu özellikleri ile Set yapısını çekilişe benzetebiliriz. Bir çekilişe aynı isimle birden fazla kez katılmaya çalışmamıza rağmen, yarışmaya katılma hakkımızın sadece 1 kez olmasıdır.
Aşağıda örneğine bakabilirsiniz:
Çıktısı ise:
Map Yapısı (Sözlük)
Map yapısı da birden fazla veriyi tutmamıza yarayan liste türlerinden birisidir. Map’in en önemli özellikleri:
- key – value şeklinde çalışır.
- sırasızdır.
Bu yapıyı da sözlük olarak düşünebiliriz. Bir kelimenin sadece bir karşılığı vardır. Burda da kelime=key, kelimeye karşılık gelen anlam=value oluyor.
Aynı zamanda Map yapısını veritabanı kullanırken de çok kullandığımız için önemlidir. Aşağıda map yapısının kullanımlarına örnekler bulunmaktadır.
Çıktısı:
Çıktısı:
Constructor methodlar, Getter and Setter methodları ve Kalıtım gibi konular da aynı olduğu için bu konulara girmeyeceğim. Nesne yönelimli bir programlama dili biliyorsanız, aynı olduğunu görecekseniz.
Lambda Fonksiyonlar
Dartta her fonksiyon, bir nesnedir.
Çok sık kullandığımız, ismi olmayan fonksiyonlara da lambda fonksiyonlar denir.
Aşağıda kullanım örneklerini görebilirsiniz.
Çıktısı:
Bu bölümde, dart dilinde temel işlevleri tamamlamış bulunuyoruz. Bir sonraki dersimizde, Flutter’ın temel widget yapılarını tanıtacağız.
Sorularınız için Soru-Cevap bölümüne bakabilirsiniz!
Flutter Eğitim serisine ulaşmak için tıklayınız.
132
Elinize sağlık güzel bir anlatım olmuş. Tek bir tavisyem olcaktı örnek kod kısımlarını keşke resim şeklinde vermeseydiniz.
diyelim ki ben map ile bir sözcük tanımladım ve sözcüğe iki anlam vermek istedim bunu nasıl yaparım
map={‘yüz’: 100, ‘yüz’: yüzmek , ‘yüz’: insan yüzü};