变量(数据位置)
- 数据位置即变量的存储位置属性,共有三类
- Memory:存储在内存中
- storage:storage存储位置修饰的变量的数据永远存储在区块链上
- Calldata:该数据位置是只读的,不会持久化到区块链上,一般只有外部函数会被指定
- 函数的参数、返回值默认数据位置是memory,函数局部变量的默认数据位置是storage。状态变量默认位置是storage
- 数据位置转换
- Memory->memory
- 引用传递,不拷贝数据
- Memory->storage
- memory赋值给状态变量,实际是将内存变量拷贝到存储中
- memory赋值给局部变量,会产生一个错误
- Storage->storage
- 修改指针指向
- Storage->memory
- 将数据从storage拷贝到memory
- 货币与时间单位
- 货币
单位 wei值 Wei
wei
- Memory->memory