使用结构体struct可以自定义数据类型,结构体内可以包含除自身以外的所有数据类型,如果包含自身则会形成递归。
定义与初始化
pragmasolidity>=0
structReader{mapping(string=>Book)books;stringname;}
Readerr;functioninit()public{stringmemoryb1c=newstring(3);b1c="1
functionread(Bookmemoryb)internal{}
functioncallTmp(EgStructTmptmp)public{Bookmemoryb=Book("jingpinmei",10);tmp
}
contractEgStructSubisEgStruct{functionwrite(Bookmemoryb)internal{}}
contractEgStructOut{/*functionseal(Bookmemoryb){}*/}
contractEgStructTmp{structBook{stringname;uintpages;}functionseal(stringmemoryname,uintpages)public{Bookmemoryb=Book(name,pages);}}
作者:感谢HPB蓝莲花团队整理供稿。
汪晓明博客:http://wangxiaoming.com/
汪晓明:HPB芯链创始人,巴比特专栏作家。十余年金融大数据、区块链技术开发经验,曾参与创建银联大数据。主创区块链教学视频节目《明说》30多期,编写了《以太坊官网文档中文版》,并作为主要作者编写了《区块链开发指南》,在中国区块链社区以ID“蓝莲花”知名。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。