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