"swif t Multidimensional" swif t Multidimensional etiketi ile işaretlenmiş eğitimler

Swift'te Tipler (Types)

Swift’te, esas olarak iki türde tip söz konusudur:

I. İsimlendirilmiş tipler: Tanımlandığı zaman belirli bir isim verilen tiplerdir. İsimlendirilmiş tipler, sınıfları, yapıları, sayma yapısını (enumeration) ve protokolleri kapsar. Örneğin, A adlı bir sınıftan türetilen nesneler A tipindendir. Ayrıca Swift kütüphanesi, diziler, sözlükler ve optional değerler gibi müşterek isimlendirilmiş tipleri de içerir. Veri tipleri diğer dillerde temel ya da ilkel sıfatı ile nitelendirilir; oysa Swift’te bunlar isimlendirilmiş tiplerdir ve Swift’in standart kütüphanesinde yapılar kullanılarak gerçekleştirilmişlerdir.

II. Bileşik tipler (compound), Swift’in kendi içinde oluşturulan isimsiz tiplerdir. İki tane bileşik tip vardır: 1) Fonksiyon tipleri ve tuple tipleri. Bileşik tipler, hem isimlendirilmiş tipleri hem de diğer bileşik tipleri içerebilir. Örneğin, (Int,Int,(Double,Int)) şeklindeki tuple tipi 3 eleman içeriyor: İlk ikisi isimlendirilmiş Int tipi, üçüncüsü ise (Double,Int) şeklindeki başka bir bileşik tiptir.

 

TİP BİLDİRİMİ

 

let TupleX: (Double, Double,Double) = (1.5,2.5,89.0)

func Fonk1(x: Int) { /* ... */ }

 

Yukardaki örnekte görüldüğü gibi, tip bildirimi : sembolü yardımı ile gerçekleştirilir. Yukarda TupleX adlı tuple için bir bileşik tip ve Fonk1 adlı fonksiyon için x argümanının tipleri bildirilmiştir.

 

TİP BELİRTİCİSİ (TYPE IDENTIFIER)

 

Swiftin ilginç bir özelliği de gerek isimlendirilmiş tiplere gerekse de bileşik tiplere kullanıcının kendine kolaylık sağlayacak isimler verebilmesidir. Örneğin,

typealias ucint=(Int,Int,Int) ifadesi ile Int,Int,Int içeren bir tuple bileşik tipine ucint adı verilmektedir.

let v:ucint=(23,7,-9) komutu ile de v sabiti (ınt,Int,Int) türünde bir sabit olarak tanımlanabilmektedir.

typealias TamSayi=Int

var y:TamSayi=3456

ifadeleri ile de Int tipi TamSayi olarak isimlendirilmiş ve y değişkeni de Int türünde TamSayi sözcüğü yardımı ile tanımlanmıştır.

 

ÖRNEK PROGRAM LİSTESİ


 

let TupleX: (Double, Double,Double) = (1.5,2.5,89.0)

func Fonk1(x: Int) { /* ... */ }

typealias ucint=(Int,Int,Int)



let v:ucint=(23,7,-9)

typealias TamSayi=Int

var y:TamSayi=3456

print("v=\(v)")

print("y=\(y)")

PROGRAMIN ÇIKTISI


 

=(23, 7, -9)

y=3456

Program ended with exit code: 0

FONKSİYON TİPİ

 

Fonksiyon tipi, fonksiyonun tipini, metodun, parametrelerin ve gönderdiği değerin tipini içerir:

 

Parametre Tipi-> Dönüş Tipi(return ile)

 

Parametre tipleri ve dönüş tipi de birer tuple da olabileceği için fonksiyon tipleri çok parametreli fonksiyonları desteklemek durumundadır.