Fonksiyonlar
Fonksiyonlar, okunabilir, düzenlenebilir ve yeniden kullanılabilir kod blokları oluşturmamızı sağlar. Bu kod bloklarının içerisinde işlemler yapabiliriz.
Fonksiyonlar tanımlandıktan sonra başka bir yerden çağrılabilir. Bu özelliği kod bloğunu yeniden kullanılabilir yapar. Ayrıca kodun okunabilirliğini arttırır.
- 1.Fonksiyonun Tanımlanması
- 2.Fonksiyonun Çağrılması
- 3.Fonksiyonun Değer Döndürmesi
- 4.Fonksiyonun Parametresi
Fonksiyonun tanımlanması aşağıdaki gibi yapılır.
void merhaba() {
print("merhaba");
}
Yukarıda ekrana
"merhaba"
yazan bir fonksiyon oluşturduk. Bu fonksiyonumuzu merhaba olarak adlandırdık.Yukarıdaki merhaba fonksiyonunu kullanmak istersek aşağıdaki gibi yaparız.
void merhaba() {
print("merhaba");
}
void main() {
merhaba();
}
Yukarıda gördüğünüz gibi main fonksiyonu içerisinde merhaba fonksiyonunu kullandık.
Fonksiyonlar bir eylem gerçekleştirmek yerine bize bir değer de döndürebilir. Bu işlemi
return
terimi ile yaparız.int sayi() {
return 10;
}
void main() {
print(sayi());
}
Yukarıdaki kodları incelediğimizde, ilk gördüğümüz farklılık, bu sefer
void
terimi ile değil de int
terimi ile fonksiyon oluşturduk. Bunun sebebi sayi()
fonksiyonunda return
ettiğimiz değer integer tipinde olmasıdır. Fonksiyon oluştururken, eğer bir değer döndürecekse fonksiyon isminden önce return tipini belirtmemiz gerekir.void
terimini ise fonksiyonumuz bir değer döndürmüyorsa kullanırız. Dart'ta bir fonksiyonda return
yoksa return tipi
kullanmamızda zorunlu değildir.merhaba() {
print("merhaba");
}
main() {
merhaba;
}
Yukarıda gördüğünüz gibi, aslında
void
yazmamıza gerek yok.Özet olarak, eğer fonksiyon bir değer döndürüyorsa dönecek değerin tipi belirtiriz. Değer döndürmüyorsa
void
yazarız veya hiçbir şey yazmayız.Parametreler de ğerleri işlemlere iletmek için kullanılır. Yani bir fonksiyona işlemlerinde kullanması için parametreler yollayabiliriz.
int topla(int a, int b) {
return a + b;
}
main() {
print(topla(5, 10));
}
Kodlarımıza bakalım;
topla
adında bir fonksiyon oluşturduk. bu fonksiyonun başta int
tipinde bir değer döndüreceğini belirttik. Parantez içine baktığımızda int a
ve int b
terimlerini görüyoruz. Bunlar bizim parametrelerimiz. Bu parametreleri fonksiyonumuzun içerisinde topladık ve return
ettik.main
fonksiyonu içerisinde de topla
fonksiyonumuza iki değer girerek çağırıp ekrana bastırdık.Parametreleri tanımlarken aşağıdaki gibi de tanımlayabiliriz.
int topla(int a, b) {
return a + b;
}
b
'nin tipini yazmadık, çünkü tipini bir önceki parametrenin tipi olarak belirlendi.Fonksiyondaki parametrelere girilmemesi dahilinde otomatik değer atanabilir. Örneğimiz;
int carp(int a, [int b = 2]) {
return a * b;
}
main() {
print(carp(5)); //10
print(carp(5, 3)); //15
}
carp
fonksiyonunu incelediğimizde, a
adında interger
tipinde bir parametre oluşturduk. Köşeli parantez içerisine b
değişkeni tanımladık ve 2
değerini verdik. Yani b
parametresinin girilmemesi durumunda b
parametremizin değeri 2
olacaktır.int carp({int a, b}) {
return a * b;
}
main() {
print(carp(a: 5, b: 4));
}
carp
fonksiyonunun parametrelerini tanımlıyorken, parantez içerisine ayrıca süslü parantez koyduğumuza dikkat çekmek isterim. Böyle fonksiyon başka bir yerden çağrılırken, tıpkı map
kullanımındaki gibi değer yollayacağımız parametreyi de belirtiriz. Last modified 3yr ago