Solidity 结构体(struct)
类似于C语言,Solidity 也有结构体(struct)类型,用于表示复合型数据。结构体是引用类型。
例如,一本书的信息:
- Title
- Author
- Subject
- Book ID
就可以用结构体来表示。
1. 定义结构体
要定义结构,使用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; }
2. 访问结构体成员
要访问结构的任何成员,使用成员访问操作符(.)。
示例
// SPDX-License-Identifier: SimPL-3.0 pragma solidity ^0.7.0; contract test { struct Book { string title; string author; uint book_id; } Book book; function setBook() public { book = Book('Learn Java', 'codebaoku.com', 1); } function getBookAuthor() public view returns (string memory) { return book.author; } }
运行上述程序,先单击 setBook 按钮,然后单击 getBookAuthor 获取图书 Author。
输出结果:
string: codebaoku.com'
与数组和结构体一样,映射也是引用类型。下面是声明映射类型的语法。mapping(_KeyType => _ValueType)_KeyType:可以是任何内置类型,或者 bytes 和 字 ...