Estruturas de Solidez

O objetivo deste artigo é explorar as estruturas do Solidity em profundidade, discutindo suas propriedades, casos de uso e como trabalhar com elas de maneira eficaz em contratos inteligentes .

Usando tipos estruturais, os registros podem ser representados. Digamos que você queira controlar os livros que possui em uma biblioteca.

Pode ser útil rastrear as seguintes características sobre cada livro:

  • Título
  • Autor
  • Assunto
  • ID do livro


Definir estrutura

A palavra-chave struct deve ser usada para definir um Struct. Com a palavra-chave struct, um novo tipo de dado pode ser definido com mais de um membro.

As instruções struct seguem o seguinte formato

struct struct_name {
type1 type_name_1;
type2 type_name_2;
type3 type_name_3;
}

Exemplo

struct Book {
string title;
string author;
string subject;
uint book_id;
}


Estrutura de acesso e sua variável

Um membro de estrutura pode ser acessado aplicando o operador de acesso de membro (.).

Este operador é definido como um ponto entre o nome da variável da estrutura e o nome do membro da estrutura que desejamos acessar.

As estruturas são usadas para definir variáveis ​​de tipos de estrutura.

O seguinte programa fornece a compreensão básica das estruturas de solidez:

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;
contract SolidityTest {
struct Book_structure{
uint book_id;
string book_name;
string book_subject;
string book_title;
}
Book_structure mybook;
function set_book_data() public {
mybook=Book_structure(1,'Mastering Solidity','Solidity Programming','Lets Learn Solidity');
}
function get_book_id() public view returns(uint){
return mybook.book_id;
}
function get_book_name() public view returns(string memory){
return mybook.book_name;
}
function get_book_title() public view returns(string memory){
return mybook.book_title;
}
function get_book_subject() public view returns(string memory){
return mybook.book_subject;
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<div class="spinner-border" role="status"><span class="sr-only">Loading...</span></div>

Estruturas de Solidez

Também podemos criar uma estrutura para uma pessoa conforme feito 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;
contract SolidityTest{
struct Entrepreneur_Details{
uint Entrepreneur_id;
string Entrepreneur_name;
uint Entrepreneur_age;
string Entrepreneur_Company;
}
Entrepreneur_Details details;
function fetch_Data() public{
details=Entrepreneur_Details(1,'Elon Musk',51,'Tesla ,Inc');
}
function get_Start() public pure returns(string memory){
return "The Following are the details Regarding the Entrepreneur : ";
}
function get_Id() public view returns(uint){
return details.Entrepreneur_id;
}
function get_Name() public view returns(string memory){
return details.Entrepreneur_name;
}
function get_Age() public view returns(uint){
return details.Entrepreneur_age;
}
function get_Company() public view returns(string memory){
return details.Entrepreneur_Company;
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<div class="spinner-border" role="status"><span class="sr-only">Loading...</span></div>

Compile e verifique você mesmo a saída.

Conclusão

As estruturas de solidez são um bloco de construção fundamental do desenvolvimento de contratos inteligentes. Com structs, você pode definir estruturas de dados complexas que permitem armazenar e manipular dados de maneiras mais significativas.

Ao aproveitar o poder das estruturas, você pode criar contratos inteligentes mais sofisticados e robustos que podem atender às demandas de casos de uso do mundo real.

Então, se você está falando sério sobre construir no blockchain , aprender sobre structs é uma obrigação.

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