Solidność - rodzaje

Pisząc program w dowolnym języku, musisz używać różnych zmiennych do przechowywania różnych informacji. Zmienne to nic innego jak zarezerwowane miejsca w pamięci do przechowywania wartości. Oznacza to, że kiedy tworzysz zmienną, rezerwujesz trochę miejsca w pamięci.

Możesz chcieć przechowywać informacje o różnych typach danych, takich jak znak, szeroki znak, liczba całkowita, zmiennoprzecinkowa, podwójna zmiennoprzecinkowa, logiczna itp. Na podstawie typu danych zmiennej system operacyjny przydziela pamięć i decyduje, co może być przechowywane w zarezerwowana pamięć.

Typy wartości

Solidity oferuje programiście bogaty asortyment typów danych wbudowanych oraz zdefiniowanych przez użytkownika. Poniższa tabela zawiera listę siedmiu podstawowych typów danych C ++ -

Rodzaj Słowo kluczowe Wartości
Boolean bool prawda fałsz
Liczba całkowita int / uint Liczby całkowite ze znakiem i bez znaku o różnych rozmiarach.
Liczba całkowita int8 do int256 Signed int od 8 bitów do 256 bitów. int256 to to samo, co int.
Liczba całkowita uint8 do uint256 Unsigned int od 8 bitów do 256 bitów. uint256 jest tym samym, co uint.
Numery punktów stałych naprawiono / nie naprawiono Podpisane i niepodpisane numery stałych punktów o różnych rozmiarach.
Numery punktów stałych naprawiono / nie naprawiono Podpisane i niepodpisane numery stałych punktów o różnych rozmiarach.
Numery punktów stałych fixedMxN Podpisana liczba punktów stałych, gdzie M oznacza liczbę bitów pobranych według typu, a N oznacza liczbę miejsc dziesiętnych. M powinno być podzielne przez 8 i wynosi od 8 do 256. N może wynosić od 0 do 80. fixed to to samo, co fixed128x18.
Numery punktów stałych ufixedMxN Liczba stałych punktów bez znaku, gdzie M reprezentuje liczbę bitów pobranych według typu, a N reprezentuje punkty dziesiętne. M powinno być podzielne przez 8 i wynosi od 8 do 256. N może wynosić od 0 do 80. ufixed jest takie samo jak ufixed128x18.

adres

address zawiera 20-bajtową wartość reprezentującą rozmiar adresu Ethereum. Adres może być użyty do uzyskania salda przy użyciu metody .balance i może być użyty do przeniesienia salda na inny adres za pomocą metody .transfer.

address x = 0x212;
address myAddress = this;
if (x.balance < 10 && myAddress.balance >= 10) x.transfer(10);