本章节简单介绍一下合约基本结构,不足之处请指出,因为我也是刚入行小白,相互学习,共同进步
1.合约的基本结构有哪些
2.合约的基本结构中的简介
3.一些实例Demo
- 一:合约的基本结构有哪些
在Solidity语言中,合约类似于面向对象编程语言中的类。每个合约中合约包含状态变量(State Variables),函数(Functions),函数修饰器(Function Modifiers),事件(Events),结构类型(Structs Types),和枚举类型(Enum types)的声明,并且合约可以从其他的合约中继承。
- 1>:状态变量(State Variables)
状态变量是永久的存储在合约存储中的值
pragma solidity^0.4.17
contract ches{
uint userid; //状态变量
}
- 2>:函数(Functions)
- 函数是合约中代码的可执行单元。
2.函数调用可以发生在合约的内部(Internal)或者外部(External),并且函数对其他的合约有不同程度的可见性(Visibility)和访问控制(Accessors)。
pragma solidity ^0.4.17;
contract ches{
//简单的函数
function add(uint a, uint b) return(uint c){
c = a / b;
}
}
- 3>:函数修饰器(Function Modifiers)
函数修饰器可以用来以声明的方式改良函数语义(简单来说就是用于增强语义)
pragma solidity ^0.4.22;
contract Purchase {
address public seller;
modifier onlySeller() { // 修饰器
require(
msg.sender == seller,
"Only seller can call this."
);
_;
}
function abort() public onlySeller { // Modifier usage
// ...
}
}
- 4>:事件(Events)
事件是能方便的调用以太坊虚拟机日志功能的接口。用于获取当前发送的事件。
pragma solidity ^0.4.21;
contract ches {
event chesd(address bidder, uint amount); // 事件
function bid() public payable {
emit chesd(msg.sender, msg.value); // 触发事件
}
}
- 5> :结构类型(Structs Types)
结构类型是自定义的将几个变量组合在一起形成的类型。
pragma solidity ^0.4.17;
contract Ballot {
struct Voter { // 结构
uint userid;
bool voted;
address delegate;
uint adid;
}
}
- 6>:枚举类型(Enum Types)
枚举可以用来创建由一定数量的'常量值'构成的自定义类型(特殊的自定义的类型)
pragma solidity ^0.4.0;
contract Home {
enum Switch{On,Off}
}
网友评论