Solidità - Tipi

Durante la scrittura di programmi in qualsiasi lingua, è necessario utilizzare varie variabili per memorizzare varie informazioni. Le variabili non sono altro che posizioni di memoria riservate per memorizzare i valori. Ciò significa che quando crei una variabile riservi dello spazio in memoria.

Potresti voler memorizzare informazioni di vari tipi di dati come carattere, carattere largo, intero, virgola mobile, doppia virgola mobile, booleano ecc. In base al tipo di dati di una variabile, il sistema operativo alloca la memoria e decide cosa può essere memorizzato nel memoria riservata.

Tipi di valore

Solidity offre al programmatore un ricco assortimento di tipi di dati integrati e definiti dall'utente. La tabella seguente elenca sette tipi di dati C ++ di base:

genere Parola chiave Valori
Booleano bool vero falso
Numero intero int / uint Numeri interi con e senza segno di varie dimensioni.
Numero intero da int8 a int256 Int con segno da 8 bit a 256 bit. int256 è uguale a int.
Numero intero da uint8 a uint256 Int senza segno da 8 bit a 256 bit. uint256 è uguale a uint.
Numeri in virgola fissa fisso / non fisso Numeri in virgola fissa firmati e non firmati di varie dimensioni.
Numeri in virgola fissa fisso / non fisso Numeri in virgola fissa firmati e non firmati di varie dimensioni.
Numeri in virgola fissa fixedMxN Numero in virgola fissa con segno dove M rappresenta il numero di bit presi per tipo e N rappresenta i punti decimali. M deve essere divisibile per 8 e va da 8 a 256. N può essere compreso tra 0 e 80. fixed è uguale a fixed128x18.
Numeri in virgola fissa ufixedMxN Numero in virgola fissa senza segno dove M rappresenta il numero di bit presi per tipo e N rappresenta i punti decimali. M dovrebbe essere divisibile per 8 e va da 8 a 256. N può essere compreso tra 0 e 80. ufixed è uguale a ufixed128x18.

indirizzo

address contiene il valore di 20 byte che rappresenta la dimensione di un indirizzo Ethereum. Un indirizzo può essere utilizzato per ottenere il saldo utilizzando il metodo .balance e può essere utilizzato per trasferire il saldo a un altro indirizzo utilizzando il metodo .transfer.

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