solidity智能合约[40]-memory属性-创新互联

memory引入

函数中结构体变量默认是是storage类型

下面是一段错误的代码,错误的原因在于,init函数中,student s 默认会加上storage的属性,但是storage属性必须要引用storage空间中的状态变量。但是实例化的student(100,“jackson”)并不在storage中。

创新互联专注于贡山网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供贡山营销型网站建设,贡山网站制作、贡山网页设计、贡山网站官网定制、微信小程序定制开发服务,打造贡山网络公司原创品牌,更为您提供贡山网站排名全网营销落地服务。
1
2
3
4
5
6
7
8
9
struct student{
  uint grade;
  string name;
}

function init() public pure returns(uint,string){
  student  s = student(100,"jackson");
  return (s.grade,s.name);
}

因此,正确的做法是,必须要变量的初始化放在memory空间中。加上了memory属性的变量,意味着变量存储在memory的空间中。

1
2
3
4
5
6
7
8
9
struct student{
  uint grade;
  string name;
}

function init() public pure returns(uint,string){
  student memory s = student(100,"jackson");
  return (s.grade,s.name);
}
  • 本文链接: https://dreamerjonson.com/2018/11/23/solidity-40-memory/

  • 版权声明:本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处!

solidity智能合约[40]-memory属性

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站栏目:solidity智能合约[40]-memory属性-创新互联
标题链接:http://azwzsj.com/article/dchpge.html