环境说明: 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的值。