Solidité - Structs

Les types Struct sont utilisés pour représenter un enregistrement. Supposons que vous souhaitiez garder une trace de vos livres dans une bibliothèque. Vous souhaiterez peut-être suivre les attributs suivants pour chaque livre -

  • Title
  • Author
  • Subject
  • ID du livre

Définition d'une structure

Pour définir une structure, vous devez utiliser le structmot-clé. Le mot-clé struct définit un nouveau type de données, avec plus d'un membre. Le format de l'instruction struct est le suivant -

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

Exemple

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

Accéder à une structure et à sa variable

Pour accéder à n'importe quel membre d'une structure, nous utilisons l'opérateur d'accès aux membres (.). L'opérateur d'accès au membre est codé comme un point entre le nom de la variable de structure et le membre de la structure auquel nous souhaitons accéder. Vous utiliseriez la structure pour définir des variables de type structure. L'exemple suivant montre comment utiliser une structure dans un programme.

Exemple

Essayez le code suivant pour comprendre comment les structures fonctionnent dans 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;
   }
}

Exécutez le programme ci-dessus en suivant les étapes fournies dans le chapitre Application Solidity First .

Premier clic setBook Bouton pour définir la valeur sur LARGE puis cliquez sur getBookId pour obtenir l'identifiant du livre sélectionné.

Production

uint256: 1