七结构体《2022 solidity8.+ 版本教程到实战》
Posted 1_bit
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了七结构体《2022 solidity8.+ 版本教程到实战》相关的知识,希望对你有一定的参考价值。
结构体
结构体是一种可以自行定义的数据类型,其结构体内是复合的数据类型结构,当单一数据类型不能满足时可以使用创建所需结构体。
结构体定义使用 struct,例如以下示例:
struct Human
uint age;
string name;
uint height;
以上代码中使用 struct 定义结构体,在此不必使用 public 进行修饰,因为 Human 这个结构体是一种数据类型的抽象,使用 public 毫无意义。
其结构体内包含 uint 的 age 和 height 变量数据,以及一个 string 类型的 name 数据,这意味着,在之后的使用中,Human 这个类型的结构体变量可使用其中的数据,例如 age 、name 和height。
接着可以创建对应的结构体 Human 类型的变量,就像创建一个 uint 变量一样简单:
Human public XiaoMing;
Human public XiaoHong;
此时直接将创建的结构体 Human 当做一种数据类型即可。
使用时直接使用 点运算符 . 对其中的属性进行赋值或者取值即可:
XiaoHong.age=18;
XiaoHong.name="XiaoHong";
XiaoHong.height=170;
那么此时创建一个合约,完整的结构体赋值操作如下:
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.6;
contract StructDemo
struct Human
uint age;
string name;
uint height;
Human public XiaoMing;
Human public XiaoHong;
function testStruct()external
XiaoHong.age=18;
XiaoHong.name="XiaoHong";
XiaoHong.height=170;
XiaoMing.age=19;
XiaoMing.name="XiaoMing";
XiaoMing.height=172;
Human memory XiaoLv=Human(20,"XiaoLv",168);
以上是关于七结构体《2022 solidity8.+ 版本教程到实战》的主要内容,如果未能解决你的问题,请参考以下文章
七数组及其操作《2022 solidity8.+ 版本教程到实战》
一基本remix环境及HelloWord contract《2022 solidity8.+ 版本教程到实战》
一基本remix环境及HelloWord contract《2022 solidity8.+ 版本教程到实战》
一基本remix环境及HelloWord contract《2022 solidity8.+ 版本教程到实战》