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);