Solidez - Tipos

Mientras escribe un programa en cualquier idioma, debe utilizar varias variables para almacenar información diversa. Las variables no son más que ubicaciones de memoria reservadas para almacenar valores. Esto significa que cuando crea una variable, reserva algo de espacio en la memoria.

Es posible que desee almacenar información de varios tipos de datos como carácter, carácter ancho, entero, punto flotante, punto flotante doble, booleano, etc. En función del tipo de datos de una variable, el sistema operativo asigna memoria y decide qué se puede almacenar en el memoria reservada.

Tipos de valor

Solidity ofrece al programador una amplia variedad de tipos de datos integrados y definidos por el usuario. La siguiente tabla enumera siete tipos de datos básicos de C ++:

Tipo Palabra clave Valores
Booleano bool verdadero Falso
Entero int / uint Enteros firmados y sin firmar de diferentes tamaños.
Entero int8 a int256 Firmado int de 8 bits a 256 bits. int256 es lo mismo que int.
Entero uint8 a uint256 Int sin signo de 8 bits a 256 bits. uint256 es lo mismo que uint.
Números de punto fijo fijo / no fijo Números de punto fijo firmados y sin firmar de diferentes tamaños.
Números de punto fijo fijo / no fijo Números de punto fijo firmados y sin firmar de diferentes tamaños.
Números de punto fijo FixedMxN Número de coma fija con signo donde M representa el número de bits tomados por tipo y N representa los puntos decimales. M debe ser divisible por 8 y va de 8 a 256. N puede ser de 0 a 80. Fixed es lo mismo que Fixed128x18.
Números de punto fijo ufixedMxN Número de punto fijo sin signo donde M representa el número de bits tomados por tipo y N representa los puntos decimales. M debe ser divisible por 8 y va de 8 a 256. N puede ser de 0 a 80. ufixed es lo mismo que ufixed128x18.

habla a

address contiene el valor de 20 bytes que representa el tamaño de una dirección Ethereum. Se puede usar una dirección para obtener el saldo usando el método .balance y se puede usar para transferir el saldo a otra dirección usando el método .transfer.

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