Solidity:合约结构
合约类似于面向编程语言中的类。 每个合约中可以包含状态变量、函数、函数修饰器、事件、结构类型和枚举类型的声明。
还有一些特殊的合约如:库和接口
状态变量
状态变量是永久存储在合约存储中的值
函数
函数是合约中代码的可执行单元。函数通常在合约内部定义,但也可在合约外部定义
函数修饰器
函数修饰器可以用来以声明的方式改良函数语义
事件
事件是能方便调用以太坊虚拟机(EVM)日志功能的接口
结构体
结构体是可以将几个变量分组的自定义类型
枚举类型
枚举类型可用来创建由一定数量的“常量值”构成的自定义类型
总结运用代码
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract Demo {
uint data; //状态变量
event deal(address seller, uint amount);//事件
struct People {//结构类型
uint height;
uint age;
uint weight;
}
enum State{alive, die} //枚举类型
modifier onlyMe(address seller){
require(msg.sender == seller);
_;
}
function transfer() public payable onlyMe(msg.sender) {//函数并且添加了修饰器
emit deal(msg.sender, msg.value);
}
}
function hello(){//外部函数
}
|