Sağlamlık - Türler
Herhangi bir dilde program yazarken, çeşitli bilgileri depolamak için çeşitli değişkenler kullanmanız gerekir. Değişkenler, değerleri saklamak için ayrılmış bellek konumlarından başka bir şey değildir. Bu, bir değişken oluşturduğunuzda bellekte biraz yer ayırdığınız anlamına gelir.
Karakter, geniş karakter, tam sayı, kayan nokta, çift kayan nokta, boole vb. Gibi çeşitli veri türlerinin bilgilerini depolamak isteyebilirsiniz. ayrılmış hafıza.
Değer Türleri
Solidity, programcıya zengin bir yerleşik ve kullanıcı tanımlı veri türleri yelpazesi sunar. Aşağıdaki tabloda yedi temel C ++ veri türü listelenmiştir -
Tür | Anahtar kelime | Değerler |
---|---|---|
Boole | bool | doğru yanlış |
Tamsayı | int / uint | Değişik boyutlarda imzalı ve işaretsiz tam sayılar. |
Tamsayı | int8 - int256 | 8 bit ila 256 bit arası int imzalı. int256, int ile aynıdır. |
Tamsayı | uint8'den uint256'ya | 8 bitten 256 bite kadar işaretsiz int. uint256, uint ile aynıdır. |
Sabit Nokta Numaraları | sabit / sabitlenmemiş | Değişik boyutlarda imzalı ve imzasız sabit nokta numaraları. |
Sabit Nokta Numaraları | sabit / sabitlenmemiş | Değişik boyutlarda imzalı ve imzasız sabit nokta numaraları. |
Sabit Nokta Numaraları | sabitMxN | M tipe göre alınan bit sayısını ve N'nin ondalık noktaları temsil ettiği imzalı sabit nokta numarası. M, 8'e bölünebilir ve 8'den 256'ya gitmelidir. N, 0'dan 80'e kadar olabilir. Sabit, sabit 128x18 ile aynıdır. |
Sabit Nokta Numaraları | ufixedMxN | M tipe göre alınan bit sayısını ve N'nin ondalık noktaları temsil ettiği işaretsiz sabit nokta numarası. M, 8'e bölünebilir ve 8'den 256'ya gider. N, 0'dan 80'e kadar olabilir. Ufixed, ufixed128x18 ile aynıdır. |
adres
adres, bir Ethereum adresinin boyutunu temsil eden 20 bayt değerini tutar. Bir adres, .balance yöntemi kullanılarak bakiye elde etmek için kullanılabilir ve .transfer yöntemi kullanılarak bakiyeyi başka bir adrese transfer etmek için kullanılabilir.
address x = 0x212;
address myAddress = this;
if (x.balance < 10 && myAddress.balance >= 10) x.transfer(10);