Tipos de Dados Primitivos
WEB3DEV Team
# Tipos de Dados Primitivos
Aqui são apresentados alguns tipos de dados primitivos disponíveis no Solidity.
boolean
uint
int
address
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
contract Primitivos {
bool public boo = true;
/*
uint representa um número inteiro sem sinal, significando que
números inteiros não negativos tamanhos diferentes estão disponíveis
uint8 varia de 0 a 2 ** 8 - 1
uint16 varia de 0 a 2 ** 16 - 1
...
uint256 varia de 0 a 2 ** 256 - 1
*/
uint8 public u8 = 1;
uint public u256 = 456;
uint public u = 123; // uint é um apelido para uint256
/*
Números negativos são permitidos para dados do tipo int.
Assim como no uint, diferentes intervalos estão disponíveis de
int8 a int256
int256 varia de -2 ** 255 a 2 ** 255 - 1
int128 vária de -2 ** 127 a 2 ** 127 - 1
*/
int8 public i8 = -1;
int public i256 = 456;
int public i = -123; // int é o mesmo que int256
// mínimo e máximo de int
int public minInt = type(int).min;
int public maxInt = type(int).max;
address public addr = 0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c;
/*
No Solidity, o tipo de dado byte representa uma sequência de bytes.
Solidity apresenta dois tipos de bytes:
- arrays de bytes de tamanho fixo
- arrays de bytes dimensionadas dinamicamente
O termo bytes no Solidity representa um array dinâmico de bytes.
byte[] é um atalho para isso.
*/
bytes1 a = 0xb5; // [10110101]
bytes1 b = 0x56; // [01010110]
// Valores padrões
// Variáveis não atribuídas têm um valor padrão
bool public defaultBoo; // false
uint public defaultUint; // 0
int public defaultInt; // 0
address public defaultAddr; // 0x0000000000000000000000000000000000000000
}