🌑

帮帮技术站

solidity-2-base

solidity 引用类型memory,storage,calldata

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
引用类型包括结构,数组和映射,变量的存储有三种类型,memory,storage和calldata。

memory(值传递) 即数据在内存中,因此数据仅在其生命周期内(函数调用期间)有效。不能用于外部调用。

storage(指针传递) 状态变量保存的位置,只要合约存在就一直存储。

calldata 用来保存函数参数的特殊数据位置,是一个只读位置。是不可修改的、非持久的函数参数存储区域,效果大多类似memory。是外部函数的参数所必需指定的位置,但也可以用于其他变量。



局部变量/状态变量 默认是storage

函数参数,包括返回的参数,默认是memory

函数默认为public类型,但是当我们的函数参数如果为storage类型时,函数的类型必须为internal或者private

— Nov 4, 2022

Search