Solidity - 結構體



結構體型別用於表示記錄。假設您想跟蹤圖書館中的書籍。您可能需要跟蹤每本書的以下屬性:

  • 書名
  • 作者
  • 主題
  • 圖書ID

定義結構體

要定義結構體,必須使用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第一個應用章節中提供的步驟執行上述程式。

首先點選setBook按鈕將值設定為LARGE,然後點選getBookId獲取選定的圖書ID。

輸出

uint256: 1
廣告
© . All rights reserved.