函数基础
1.Solidity本身也是一门函数编程语言,也就是说函数可以做参数、变量、返回值。函数属于值类型,支持多返回值。
2.调用方式
- 内部调用
- 内部调用采用EVM跳转调用,所以能够直接使用上下文中的数据,因为不用拷贝数据,所以在数据传递的时候非常高效
- 对合约内的函数,引入的库函数和从父合约中继承的函数都可以进行内部调用
- 外部调用
- 采用外部交易调用,使用external。对于一个外部调用,所有的函数参数必须要拷贝到内存中。
函数定义类型
1.View:只读,不改变合约内部状态
- 会改变合约状态的操作
- 写入状态变量
- 底层的调用
- 调用任何一个没有被标记为view或者pure的函数
- 发送以太币
- 使用自毁函数
- 创建合约
- 触发事件