环境说明: Ide:在线remix Solidity IDE
语言:solidity solidity
版本号:0.4.20
Tip:如果一点都不懂的建议从头开始看
运行结果截图我不赘述,所有合约代码均通过个人检测。请按照标准进行操作,如出问题检测是否网络连得上外网,且操作按照第一节内容类似操作;由于版本更新,可能会出现不同,但该教材代码均适用于在0.4.20 版本使用
solidity结构体使用和一些语言使用类似。
合约代码:
pragma solidity ^0.4.20;
contract Test{People p;struct People{uint256 age;}//定义函数修改器modifier age18(uint256 age){require(age >= 18);_;}//set方法,用函数修改器age18修饰set函数function set(uint256 x)public age18(x){p=People(x);}//返回结构体变量中的age内容function get() public constant returns(uint256){return p.age;}
}
代码解析,在此只主要说明结构体其他上一节内容:
People p;:
声明People 结构体变量p,这点和类似于C语言结构体之类没什么区别。
struct People{
uint256 age;
}
定义People结构体,其中结构体变量为age是uint类型,和一些语言结构体定义区别不大
p=People(x);:
初始化结构体People,并且赋值给p结构体变量
return p.age;:
返回结构体变量p中age的值。