Solidez - Estruturas

Os tipos de estrutura são usados ​​para representar um registro. Suponha que você queira manter o controle de seus livros em uma biblioteca. Você pode querer rastrear os seguintes atributos sobre cada livro -

  • Title
  • Author
  • Subject
  • ID do livro

Definindo uma Estrutura

Para definir um Struct, você deve usar o structpalavra-chave. A palavra-chave struct define um novo tipo de dados, com mais de um membro. O formato da instrução de estrutura é o seguinte -

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

Exemplo

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

Acessando um Struct e sua variável

Para acessar qualquer membro de uma estrutura, usamos o operador de acesso de membro (.). O operador de acesso de membro é codificado como um período entre o nome da variável de estrutura e o membro da estrutura que desejamos acessar. Você usaria a estrutura para definir variáveis ​​do tipo de estrutura. O exemplo a seguir mostra como usar uma estrutura em um programa.

Exemplo

Experimente o código a seguir para entender como as estruturas funcionam no Solidity.

pragma solidity ^0.5.0;

contract test {
   struct Book { 
      string title;
      string author;
      uint book_id;
   }
   Book book;

   function setBook() public {
      book = Book('Learn Java', 'TP', 1);
   }
   function getBookId() public view returns (uint) {
      return book.book_id;
   }
}

Execute o programa acima usando as etapas fornecidas no capítulo Aplicativo Solidity First .

Primeiro clique setBook Botão para definir o valor como GRANDE e clique em getBookId para obter o ID do livro selecionado.

Resultado

uint256: 1