- Solidity 教程
- Solidity - 首頁
- Solidity - 概述
- Solidity - 環境搭建
- Solidity - 基本語法
- Solidity - 第一個應用
- Solidity - 註釋
- Solidity - 資料型別
- Solidity - 變數
- Solidity - 變數作用域
- Solidity - 運算子
- Solidity - 迴圈
- Solidity - 條件語句
- Solidity - 字串
- Solidity - 陣列
- Solidity - 列舉
- Solidity - 結構體
- Solidity - 對映
- Solidity - 型別轉換
- Solidity - 以太幣單位
- Solidity - 特殊變數
- Solidity - 樣式指南
- Solidity 函式
- Solidity - 函式
- Solidity - 函式修飾符
- Solidity - view 函式
- Solidity - pure 函式
- Solidity - 回退函式
- 函式過載
- 數學函式
- 加密函式
- Solidity 常用模式
- Solidity - 提款模式
- Solidity - 許可權控制
- Solidity 進階
- Solidity - 合約
- Solidity - 繼承
- Solidity - 建構函式
- Solidity - 抽象合約
- Solidity - 介面
- Solidity - 庫
- Solidity - 彙編
- Solidity - 事件
- Solidity - 錯誤處理
- Solidity 有用資源
- Solidity - 快速指南
- Solidity - 有用資源
- Solidity - 討論
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
廣告