Mapeamento de Solidez

Neste artigo, veremos mais de perto e examinaremos os mapeamentos do Solidity e exploraremos como eles podem ser usados ​​em aplicações práticas com exemplos.

Um mapeamento é um tipo de referência, semelhante a arrays e estruturas .

A sintaxe para declarar um tipo de mapeamento é a seguinte:

mapping(_KeyType => _ValueType)

Aqui:

Um _KeyType pode ser um tipo interno, um byte ou uma string .

O uso de objetos complexos ou tipos de referência não é permitido.

Qualquer tipo de valor pode ser atribuído a _ValueType .



Considerações

Os mapeamentos são geralmente usados ​​para variáveis ​​de estado e podem ter apenas um tipo de armazenamento.

Você pode marcar o mapeamento de solidez como público. Um getter é criado automaticamente para ele.

O exemplo a seguir mostra o funcionamento do mapeamento de solidez.

Vamos entender isso considerando um mapeamento de car_name que pode ser acessado usando o número do id conforme tabela abaixo:

ID do carro Nome do carro
1 Porsche
2 Ferrari
3 Bentley
4 Lamborghini
5 tesla

Se criarmos o mapeamento dos car_names e id , ao acessar o respectivo id do carro obteremos o nome do carro.

Certifique-se de que isso só pode ser feito se você definir o ID do carro primeiro.

Para entender o funcionamento siga o código abaixo:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;
contract SolidityTest{
mapping(uint => string) public car_names;
constructor() public {
car_names[1]="Porsche";
car_names[2]="Ferrari";
car_names[3]="Bentley";
car_names[4]="Lamborghini";
car_names[5]="Tesla";
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<div class="spinner-border" role="status"><span class="sr-only">Loading...</span></div>

 
Vamos agora considerar outros dados de partidos políticos dos EUA com um nome_partido_político e um nome_partido_partido_político :

nome_do_partido_político nome_da_cabeça_do_partido_político
Democrático Joe Biden
Republicano Ronna McDaniel
libertário Angela McArdle
americano independente Markham Robinson
Partido dos Direitos dos Estados Nacionais Edward Reed Fields JB Stoner

O exemplo abaixo mostra o funcionamento do mapeamento de uma maneira mais fácil.

Aqui, atribuímos nome_da_partida_política como _keyvalue e nome_da_parte_da_partida_política como _valor .

O funcionamento desse tipo de mapeamento é dado abaixo:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;
contract SolidityTest{
mapping (uint => string) public voting_party;
function set_Value() public {
voting_party[1]="Democratic";
voting_party[2]="Republican";
voting_party[3]="Libertarian";
voting_party[4]="American Independent";
voting_party[5]="States' Rights";
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<div class="spinner-border" role="status"><span class="sr-only">Loading...</span></div>

Conclusão

Os mapeamentos de solidity são a poderosa estrutura de dados que permite armazenar e recuperar pares chave-valor com eficiência.

Os mapeamentos são amplamente usados ​​no desenvolvimento de contratos inteligentes para diversos fins, incluindo manutenção de saldos, rastreamento de propriedade e armazenamento de dados de maneira descentralizada.

Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone