Solidez - Tipos

Ao escrever um programa em qualquer idioma, você precisa usar várias variáveis ​​para armazenar várias informações. As variáveis ​​nada mais são do que locais de memória reservados para armazenar valores. Isso significa que, ao criar uma variável, você reserva algum espaço na memória.

Você pode gostar de armazenar informações de vários tipos de dados como caractere, caractere largo, inteiro, ponto flutuante, ponto flutuante duplo, booleano etc. Com base no tipo de dados de uma variável, o sistema operacional aloca memória e decide o que pode ser armazenado no memória reservada.

Tipos de valor

Solidity oferece ao programador uma rica variedade de tipos de dados integrados e definidos pelo usuário. A tabela a seguir lista sete tipos de dados básicos C ++ -

Tipo Palavra-chave Valores
boleano bool verdadeiro falso
Inteiro int / uint Inteiros assinados e não assinados de tamanhos variados.
Inteiro int8 a int256 Int assinado de 8 bits a 256 bits. int256 é o mesmo que int.
Inteiro uint8 a uint256 Int sem sinal de 8 bits a 256 bits. uint256 é o mesmo que uint.
Números de pontos fixos corrigido / não corrigido Números de pontos fixos assinados e não assinados de vários tamanhos.
Números de pontos fixos corrigido / não corrigido Números de pontos fixos assinados e não assinados de vários tamanhos.
Números de pontos fixos fixedMxN Número de ponto fixo com sinal, em que M representa o número de bits obtidos por tipo e N representa os pontos decimais. M deve ser divisível por 8 e vai de 8 a 256. N pode ser de 0 a 80. fixo é igual a fixo 128x18.
Números de pontos fixos ufixedMxN Número de ponto fixo sem sinal, onde M representa o número de bits obtidos por tipo e N representa as casas decimais. M deve ser divisível por 8 e vai de 8 a 256. N pode ser de 0 a 80. ufixed é o mesmo que ufixed128x18.

endereço

address contém o valor de 20 bytes que representa o tamanho de um endereço Ethereum. Um endereço pode ser usado para obter o saldo usando o método .balance e pode ser usado para transferir o saldo para outro endereço usando o método .transfer.

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