Dart Map
Bu yazımda sizlere diğer programlama dillerinde dictionary olarak da adlandırılan Map objesini kullanarak Dart dilinde Key/Value eşleştirmesi nasıl yaptığımızı açıklayacağım. Map’ler dinamik koleksiyonlardır yani program runtime anında ekleme çıkarma yapılabilmektedir. Map tanımlamasını çok basit bir şekilde aşağıdaki syntax’a uyarak yapabilmekteyiz.
var identifier = { key1:value1, key2:value2 [,…..,key_n:value_n] }
Üstteki syntax haricinde constructor method kullanarakda Map oluşturabilmekteyiz.
var identifier = new Map();
map_name[key] = value;
Örneklerle inceleyelim:
//Kullanıcılar ve şifrelerini içeren bir map aşağıdaki şekilde oluşturulabilir.
void main(){
var kullanicilar = { 'izzet': 'VMware1!', 'ahmet':'VMware1!!', 'cengiz':'VMware123!'};
print(kullanicilar);
}
//Üstteki örneğin aynısını constructor method yardımıyla da yapabilmekteyiz.
void main(){
var kullanicilar = new Map();
kullanicilar['izzet'] = 'VMware1!';
kullanicilar['ahmet'] = 'VMware1!!';
kullanicilar['cengiz'] = 'VMware123!';
print(kullanicilar);
}
Map objesi ile kullanabileceğimiz bazı yararlı fonksiyonları örneklerle inceleyelim.
//addAll kullanarak bir veya birden fazla girdiyi Map'e ekleyebilmekteyiz.
kullanicilar.addAll({'can':'12345','admin':'passwd'});
//clear fonksiyonu ile Map'de bulunan bütün girdileri temizleyebiliriz.
kullanicilar.clear();
//remove fonksiyonu gösterdiğimiz key'i baz alarak map'den ilgili Key/Value değeri silmektedir.
kullanicilar.remove('izzet');
//length fonksiyonu Map'in boyutunu çekmemizde bize yardımcı olmaktadır.
print(kullanicilar.length);
Şimdi öğrendiğimiz bilgileri kullanarak çok basit bir kullanıcı oluşturma uygulaması yapabilir ve aldığımız input değerleri Map’e ekleyebiliriz.
Örnek Uygulama:
import 'dart:io';
void main(){
var kullanicilar = new Map();
print("Yeni kullanıcı oluşturma sistemine hoş geldiniz!");
print("Kullanıcı Adınızı giriniz:");
String kullanici_adi = stdin.readLineSync();
print("Şifrenizi giriniz:");
String sifre = stdin.readLineSync();
kullanicilar.addAll({kullanici_adi:sifre});
print(kullanicilar);
}