📜  Solidity-结构

📅  最后修改于: 2020-11-04 04:23:06             🧑  作者: Mango


 

结构类型用于表示记录。假设您想跟踪图书馆中的书籍。您可能需要跟踪每本书的以下属性-

  • 标题
  • 作者
  • 学科
  • 书号

定义结构

要定义Struct,必须使用struct关键字。 struct关键字定义了一个新数据类型,该数据类型具有多个成员。 struct语句的格式如下-

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

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

访问结构及其变量

要访问结构的任何成员,我们使用成员访问运算符(。)。成员访问运算符被编码为结构变量名和我们希望访问的结构成员之间的句点。您将使用该结构定义结构类型的变量。下面的示例演示如何在程序中使用结构。

尝试以下代码以了解结构在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;
   }
}

使用Solidity First Application一章中提供的步骤运行上述程序。

首先单击setBook按钮将值设置为LARGE,然后单击getBookId以获取选定的书ID。

输出

uint256: 1