Tipos de Dados Primitivos

# 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
}

# Teste no Remix

Last Updated: 22/01/2024 22:26:13