当前位置: 首页 > news >正文

网站构成三要素可信网站图标 费流量

网站构成三要素,可信网站图标 费流量,网站二次开发,北京影视宣传片拍摄公司参考教程#xff1a;【内存、引用与持久化存储】1、内存与区块链——storage与memory原理_哔哩哔哩_bilibili 1、storage与memory#xff1a; pragma solidity ^0.5.17;contract MemoryTest { uint z 1; //这是在合约中定义的状态变量#xff0c;它会永久地#xff08…参考教程【内存、引用与持久化存储】1、内存与区块链——storage与memory原理_哔哩哔哩_bilibili 1、storage与memory pragma solidity ^0.5.17;contract MemoryTest { uint z 1;   //这是在合约中定义的状态变量它会永久地随本合约存储在区块链上也就是storage中直至合约被销毁function add(uint num) public view returns(uint){num 1;  //对函数形参进行修改但是函数形参仅存储在内存也就是memory当函数执行完成形参随之被销毁return num;}function test() public view returns(uint,uint){uint i 2;  //这是在函数内部定义的变量也存储在内存memory中当函数执行完成也会被销毁uint j  add(i);  //把i作为参数传入add函数中add函数会为i建立副本在add中对生成的形参副本进行修改不会影响i本身的值return(i,j);} } 1所有的复杂类型即数组、结构和映射类型都有一个额外属性——“数据位置”用来说明数据是保存在内存memory中还是存储storage中保存在memory中的数据在函数执行完毕后空间会被释放而保存在storage中的数据会随合约一直存储在区块链上。 2根据上下文不同大多数时候数据有默认的位置但也可以通过在类型名后增加关键字storage或 memory 进行修改。 3函数参数包括返回的参数的数据位置默认是 memory局部变量的数据位置默认是memory状态变量的数据位置强制是storage。 4另外还存在第三种数据位置——calldata 这是一块只读的且不会永久存储的位置用来存储函数参数外部函数的参数非返回参数的数据位置被强制指定为 calldata 效果跟 memory 差不多。 5公开可见publicly visible的函数参数一定是 memory 类型如果要求是 storage 类型 则必须是 private 或者 internal 函数这是为了防止随意的公开调用占用资源。 2、storage引用 pragma solidity ^0.5.17;contract StorageTest {uint[] arrx;  //这个变量定义在storage中也就是随合约写在区块链中function test(uint[] memory arry) public returns(uint) //用memory修饰的变量定义在内存中它可以在函数体内部正常使用和一般的变量没多少区别{arrx arry;   //把内存中的arry赋给区块链中的arrxarrx会被改变uint[] storage z arrx;  //在函数体内部定义一个可变长度的数组时若声明是storage类型该版本编译器没有默认storage必须声明//它就相当于一个指针或者C中的引用指向区块链上的arrx当修改z的时候实际上操作的是区块链上的arrx仅限于数组、mapping类型和结构体有这种语法z[0] 100;  //实际上修改了区块链上的arrxz.length 100;  //实际上修改了区块链上arrx的长度return z[0]; }// 返回arrx的第一个元素function test2() public returns(uint){return arrx[0];}// 返回arrx的长度function test3() public returns(uint){return arrx.length;}} 3、结构体 1定义及初始化 pragma solidity ^0.5.17;contract StructTest {//定义一个结构体在合约内部定义struct Student{string name;uint grade;//Student student;  与其它语言一样禁止结构体内部包含自己否则创建结构体时会无限开辟空间//Student[] student;  不过结构体中可以定义自己的动态长度数组其初始长度为0不会无限开辟空间//mapping(uintStudent) Map;  //通过mapping也可以包含自己}function init() public view returns(string memory,uint){// 初始化方式一Student memory s Student(lalala,100);  //函数体内部创建结构体必须加memory否则会认为这是创建一个指向storage中结构体的指针会报错动态长度数组同理return(s.name,s.grade);}function init2() public view returns(string memory,uint){// 初始化方式二   Student memory s Student({name:lalala,grade:100});//在初始化结构体时可以带上变量的名称return(s.name,s.grade);}} 2mapping特性 pragma solidity ^0.5.17;contract StructTest {struct Student{string name;uint grade;mapping(uintstring) Map;  }Student s2;function init() public returns(string memory,uint){//结构体中存在mapping时初始化结构体可以忽视mappingStudent memory s Student(lalala,100);//但是memory类型结构体对象是不能直接操作mapping属性变量的// s.Map[0] wawawa;//这时可以在函数体外部创建一个变量把内存中的s复制给外部的变量通过外部变量进行操作s2 s;s2.Map[0] wawawa;return(s2.name,s2.grade);} } 3结构体作为函数参数 pragma solidity ^0.5.17;contract StructTest {struct Student{string name;uint grade;}//结构体作为函数参数时,函数必须用internal修饰function test(Student memory student) internal{Student memory stu student; //结构体作为形参不能直接赋值给storage类型的结构体除非形参中的结构体也用storage修饰} } 4、结构体中storage和memory的类型转换 1storagestorage pragma solidity ^0.5.17;contract StructTest {struct Student{string name;string grade;}Student student;  //合约状态变量的类型为storagefunction getStudent(Student storage stu) internal returns(Student memory){Student storage stu1 stu;  //函数体内部定义指针指向传入的函数形参而函数形参stu又指向状态变量student也可看作是C中的引用stu1.name lalala;stu1.grade 10000;  //通过stu1指针也可以理解为C中的引用能修改状态变量studentreturn stu1;}function test() public returns(string memory) {return getStudent(student).name;  //所调用的函数形参是storage类型可以通过编译} } 2memorystorage pragma solidity ^0.5.17;contract StructTest {struct Student{string name;string grade;}Student student;function getStudent(Student memory stu) internal returns(Student memory){student stu;  //直接将传进函数的结构体stu拷贝到状态变量student中stu.name lalala;  //修改函数形参对tmp以及student都不会有影响stu.grade 100;//student stu;  如果在这里再进行拷贝那么student就会受影响因为是将修改后的stu拷贝到student中return stu;}function test() public returns(string memory) {Student memory tmp Student(wangxiaoer,60);  //在函数体内部创建结构体变量getStudent(tmp);  //把在内存中创建的结构体变量当作参数传入函数中return student.name;} } 3storagememory pragma solidity ^0.5.17;contract StructTest {struct Student{string name;string grade;}Student student Student(wangxiaoer,60);function getStudent(Student storage stu) internal returns(Student memory){Student memory student2 stu;  //把stu指向或引用的student的内容赋给内存中的student2student2.name lalala;  //修改内存中的student2不会影响storage中的studentstudent2.grade 100;return student2;}function test() public returns(string memory) {getStudent(student);return student.name;} } 4memorymemory pragma solidity ^0.5.17;contract StructTest {struct Student{string name;string grade;}function getStudent(Student memory stu) internal returns(Student memory){Student memory ter stu;  //stu是指向内存中meimei的指针但它却是memory类型所以ter也是指向meimei的指针ter.name lalalalala;  //通过ter竟然可以修改meimeiter.grade 90;return ter;}function test() public returns(string memory) {Student memory meimei Student(meimei,3);getStudent(meimei);  //memory实参转给memory形参是指针指向记住就好不建议去理解return meimei.name;} } 5、枚举体 pragma solidity ^0.5.17;contract EnumTest {enum grade{first,second,third}  //定义枚举first的值为0second的值为1以此类推grade mingming grade.first;  //创建枚举变量function getEnum() public view returns(grade){return mingming;  //返回值为uint8:0}function getEnum2() public view returns(grade){return grade.second;  //返回值为uint8:1}}
http://www.huolong8.cn/news/95186/

相关文章:

  • 成都都江堰网站建设北京网站代运营公司
  • wordpress+药品食品网站快照优化公司
  • 企业网站建设定制软件技术一个月工资多少
  • 人才招聘网站模板html做微整去那个网站找好的医院
  • 广州做外贸网站建设构建自己网站
  • 中国芗城区城乡建设局网站怎么查看网站打开速度
  • 商务网站建设评估的指标前端网课
  • 商城网站建设快速服务订货网站开发价格
  • 微站设计做设计用哪个素材网站好
  • 自考网站建设与管理资料成都网页设计师
  • c2c网站制作定制网站开发食道里感觉有东西堵
  • 宁波网站怎么建设网站建设 深圳
  • 做证券考试的网站wordpress主题js文件在哪
  • 工商注册在哪个网站前端开发是程序员吗
  • 薛城网站建设怎么弄一个自己的网址
  • 做网站虚拟主机推荐为什么想做网站运营
  • 赵公口网站建设网络推广app是干什么的
  • 卖高权重网站做跳转网站主办者和所有者区别
  • 网站简介 更改做网站和推广
  • 深圳比较好的ui设计公司小果seo实战培训课程
  • 网站制作定制图pc网站如何做sp
  • 最新网站建设软件wordpress 虾米音乐插件
  • 建站价格会差网站空间多大
  • 学校网站资源建设方案制作排行榜的软件
  • 深圳网站专业建设公司政协门户网站建设方案
  • 本科学计算机是做网站吗网站开发费用包括美工费吗
  • 网络推广营销网站建设专家flash做网站的论文
  • 网站开发技术代码源码可以做网站吗
  • 阜阳市住房和城乡建设局网站网络营销是什么样子的
  • 产品网站免费模板下载地址做一个宣传网站的策划书