Solidité - Types

Lors de l'écriture d'un programme dans n'importe quelle langue, vous devez utiliser diverses variables pour stocker diverses informations. Les variables ne sont rien d'autre que des emplacements de mémoire réservés pour stocker des valeurs. Cela signifie que lorsque vous créez une variable, vous réservez de l'espace en mémoire.

Vous pouvez souhaiter stocker des informations de différents types de données comme des caractères, des caractères larges, des nombres entiers, des virgule flottante, des virgule flottante double, des valeurs booléennes, etc. En fonction du type de données d'une variable, le système d'exploitation alloue de la mémoire et décide de ce qui peut être stocké dans le mémoire réservée.

Types de valeur

Solidity offre au programmeur un riche assortiment de types de données intégrés et définis par l'utilisateur. Le tableau suivant répertorie sept types de données de base C ++ -

Type Mot-clé Valeurs
Booléen booléen vrai faux
Entier int / uint Entiers signés et non signés de différentes tailles.
Entier int8 à int256 Signé int de 8 bits à 256 bits. int256 est identique à int.
Entier uint8 à uint256 Un entier non signé de 8 bits à 256 bits. uint256 est identique à uint.
Numéros à virgule fixe fixe / non fixé Numéros à virgule fixe signés et non signés de différentes tailles.
Numéros à virgule fixe fixe / non fixé Numéros à virgule fixe signés et non signés de différentes tailles.
Numéros à virgule fixe fixedMxN Nombre à virgule fixe signé où M représente le nombre de bits pris par type et N représente les points décimaux. M doit être divisible par 8 et va de 8 à 256. N peut être compris entre 0 et 80. fixed est identique à fixed128x18.
Numéros à virgule fixe ufixedMxN Nombre à virgule fixe non signé où M représente le nombre de bits pris par type et N représente les points décimaux. M doit être divisible par 8 et va de 8 à 256. N peut être compris entre 0 et 80. ufixed est identique à ufixed128x18.

adresse

address contient la valeur de 20 octets représentant la taille d'une adresse Ethereum. Une adresse peut être utilisée pour obtenir le solde en utilisant la méthode .balance et peut être utilisée pour transférer le solde à une autre adresse en utilisant la méthode .transfer.

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