Solidity Conversões
Neste artigo, exploraremos os diferentes tipos de conversões disponíveis no Solidity e como elas podem ser usadas.
No Solidity, as conversões explícitas e implícitas são suportadas.
No compilador Solidity , a conversão implícita é permitida entre dois tipos de dados, desde que não seja possível realizar conversões implícitas e nenhuma informação seja perdida.
Pode-se ver que uint8 pode ser convertido em uint16 , mas int8 pode ser convertido em uint256 , pois int8 pode conter valores negativos, que não são permitidos em uint256 .
Este artigo discute as seguintes conversões:
- Conversões implícitas.
- Conversões explícitas.
- Conversões entre Literais e Tipos Elementares.
Solidity Conversões Implícitas
Eles ocorrem automaticamente quando variáveis de um tipo são atribuídas a variáveis de outro tipo.
Por exemplo, é possível converter implicitamente um inteiro em um número de ponto fixo ou uma string.
Uma função interna como uint() ou int() realiza essas operações.
O Solidity fornece a seguinte sintaxe para algumas das funções de conversão mais comuns:
int() to uint():
O código fornecido converte o inteiro em unsigned integer() :
Example:
uint() to int()
A conversão implícita de uint() para int() pode ser feita da seguinte forma:
Example:
string to bytes()
A string pode ser convertida em bytes usando a conversão implícita da seguinte forma:
Example:
Conversão Explícita
As conversões executadas explicitamente pelo desenvolvedor são conhecidas como conversões explícitas.
Em situações em que você não pode confiar em conversões implícitas, essas conversões são necessárias.
Também é necessário usar conversões explícitas quando você estiver executando operações em variáveis distintas entre si.
A sintaxe do construtor nos permite converter tipos de dados explicitamente de um para outro.
int8 to uint:
A conversão explícita de int8 para uint pode ser feita como:
Example:
uint32 to uint16:
Para converter uint32 para uint16 , considere o exemplo abaixo:
Example:
uint16 to uint32:
Para converter uint16 em uint32 , consulte o exemplo abaixo:
Example:
bytes2 to bytes1:
O exemplo a seguir mostra a conversão de bytes2 para byte1 :
Example:
bytes1 to bytes2:
Se você deseja converter bytes em bytes2 , pode seguir o exemplo fornecido:
Example:
bytes2 to bytes4:
O exemplo dado converte bytes2 em bytes4 :
Example:
Conclusão
Os mapeamentos de solidity oferecem uma maneira poderosa de armazenar e recuperar pares chave-valor com eficiência.
Os contratos inteligentes usam mapeamentos de várias maneiras, como rastreamento de saldos, rastreamento de propriedade e armazenamento de dados de forma descentralizada.