Veri Tipleri
Solidity'de veri tipleri, akıllı kontratların verilerini nasıl saklayacağını ve işleyeceğini belirleyen temellerdir. Veri tipleri, kontratların güvenli ve optimize edilmiş bir şekilde çalışmasını sağlar.
Veri tipleri iki ana kategoriye ayrılır: Değer Tipleri (Value Types) ve Referans Tipleri (Reference Types).
1. Değer Tipleri (Value Types)
Değer tipleri, değişkenlerin kendisi üzerinde saklanır. Bu, değerin direkt olarak bellekte depolandığı anlamına gelir.
Boolean (bool
)
bool
)Boolean değişkeni tanımlarken en başta bool ifadesini belirtiyoruz, daha sonra değişken adını ve sonra da değişken değerini belirtiyoruz.
Boolean iki değerden birini alabilir: true
veya false
.
Integer (int
ve uint
)
int
ve uint
)Integer tam sayıları belirttiğimiz değişken türüdür. int veya uint olarak iki farklı versiyonu vardır.
int
: İşaretli tamsayıları (negatif ve pozitif) saklar.
uint
: İşaretsiz tamsayıları (sadece pozitif) saklar.
Hem int
hem de uint
için 8
ile 256
bit arasında seçim yapabilirsiniz (8'in katları olarak).
Örneğin int8, int16, int32 ... int256 veya uint8, uint16, uint32,... uint256 gibi.
Address
address
, bir Ethereum adresini saklamak için kullanılır. Genellikle kontrat adresleri veya kullanıcı adresleri bu tipte olur.
Tanımlarken address değişken tipi belirtilir, değişken adı yazılır, son olarak da değişken değeri yazılır.
Bytes
Solidity'de sabit veya değişken uzunlukta ham veri (raw data) saklamak için kullanılır. Verileri bayt cinsinden (byte) temsil eder ve genellikle düşük seviyeli işlemler, hashing işlemleri veya veri paketlerini saklamak için kullanılır.
Aslında string ile aynı işleve sahip olsalar da byte'ların farkı değişken üzerinde manipülasyona imkan tanımasıdır. Böyle durumlarda string değişkeni önce byte tipine dönüştürürüz ve manipülasyonu uygularız, son olarak string türüne geri dönüştürürüz.
bytes1
'den bytes32
'ye kadar türleri vardır. Sadece bytes
olarak yazıldığı durumlarda dinamik bir değişken olur.
Enum
Belirli bir dizi sabit değeri tanımlamak için kullanılır. Enum'lar, kodu daha okunabilir hale getirmek ve belirli bir veri kümesi arasında seçim yapmayı kolaylaştırmak için idealdir.
Aslında enum'ların kullanım alanları daha geniş bir konu içeriği ama şimdilik "1 veya 0 ile ifade ettiğimiz sabit durumların daha kolay ifade edilmesi için"
kullanıldığını bilmeniz yeterli olacaktır.
2. Referans Tipleri (Reference Types)
Referans tipleri, bellek üzerinde saklanan verilere referans tutar. Bu tipler daha büyük veri yapıları için kullanılır.
Arrays
Aynı türdeki elemanların sıralı bir listesidir.
Structs
Farklı türdeki verileri tek bir yapıda saklamak için kullanılır.
Mapping
İkili verileri key-value şeklinde saklar. Parametre olarak bir key
verirsiniz ve size karşılığı olan value
değerini döner.
Örnekte balances mapping değişkenini kullanarak address tipinden bir parametre veriyoruz ve karşığında uint tipinde veri alıyoruz.
Örnek Projeler
Last updated