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

公司做的网站账务处理安定网站建设

公司做的网站账务处理,安定网站建设,安徽省网站肥建设网站,专注高端网站设计solidity基础语法#xff08;以太坊solidity合约#xff09; 1-值类型和取值范围2-引用类型3-引用类型高阶4-固定数组和动态数组 1-值类型和取值范围 https://learnblockchain.cn/docs/solidity/introduction-to-smart-contracts.html#subcurrency https://learnblockchain… solidity基础语法以太坊solidity合约 1-值类型和取值范围2-引用类型3-引用类型高阶4-固定数组和动态数组 1-值类型和取值范围 https://learnblockchain.cn/docs/solidity/introduction-to-smart-contracts.html#subcurrency https://learnblockchain.cn/docs/solidity/types.html 定长数组是值类型不定长数组是引用类型 String也是引用类型 字符串、不定长数组及结构体都是引用类型 当部署出现问题等等但代码无错时尝试离开网站再次进入重新编译部署 注意solidity版本 值类型修改_a不会影响到_b只是值的复制 而引用类型则是会影响的 Demo1和demo2的合约区分类型unit pragma solidity 0.4.0 0.7.0; // 声明solidity的版本// 创建一个智能合约(合约名第一个字母一般大写) contract Demo01{uint _a; //solidity命名规范下划线_a若直接a在下面的函数中无法识别变量auint _b; // 整型属于值类型,赋值的本质是拷贝数据// 函数(无返回值传入i赋值给_a、_b)function setAll(uint i) public{_a _b i;}//solidity命名规范下划线_afunction setA(uint a) public{_a a;}// view: 代表当前函数不会修改账本的数据只读函数不会修改账本数据不写也行会有警告// int uint 大小默认是256//returns (uint,uint) 具有返回值function getAB() public view returns (uint,uint){return (_a,_b);}}contract Demo02{uint8 _a; // 0~255int8 _b; // 整型属于值类型,赋值的本质是拷贝数据 -128 ~127// 函数function setAll(uint8 a,int8 b) public{_a a;_b b;}function setA(uint8 a) public{_a a;}// view: 代表当前函数不会修改账本的数据// int uint 大小默认是256可以接受unit8的类型当输入值300则超出unit界限255int8 128范围function getAB() public view returns (uint,int){return (_a,_b);}}编译成功 值类型修改_a不会影响到_b只是值的复制 而引用类型则是会影响的 // int uint 大小默认是256 在solidity中unit256,8等等类型 非常多的细微类型java中硬件便宜智能合约写的成本很高所以严格限制写的操作 数据类型大小非常严格 设计使用等非常严格 2-引用类型 https://learnblockchain.cn/docs/solidity/types.html#reference-types 值类型是不断复制 告诉程序引用类型是存到内存中作为临时变量还是存在状态中作为永久的变量 之前的合约参数默认存储memery局部变量 内存memary临时的 存储storyge永久的 现在引用不同的引用类型数据位置相互赋值 多了数据存储位置的概念在solidity 下方重要 pragma solidity 0.6.1 0.7.0; // 1: solidity: 数据类型值类型引用类型 (数组、结构体映射、字符串(bytes数组)// 2: 值传递是副本而引用类型既可传递指针,也可传递副本(传递规则受数据位置影响)// 3: 三种位置,先掌握内存与存储变量// 1: 内存,局部变量 -- 函数调用完毕后消失// 2: 状态,全局变量 --- 随着合约部署到区块链中(以太坊分布式账本) // 3: 调用数据 (暂时理解成内存变量 略)// 4: 默认的函数参数包括返回的参数他们默认是memory。默认的局部变量是storage。而状态变量肯定是storage(不用指定)// 5: 不同数据位置的引用类型赋值会创建副本,而相同数据位置引用类型仅仅赋值指针// 注意在版本0.5.0之前数据位置可以省略在0.5.0之后需要指定 contract RefType{function modifyName(string memory name) pure public returns(string memory){// 声明临时string类型的变量// string memory name1 name;// // string是可变量的,但是可以先强转为字符数组// bytes(name1)[0] J;string memory name1 name;bytes(name)[0] J;return name1;} }修改name1返回name1值变了 修改name返回name1则和上面的结果一样 相同的引用类型是指针复制 即传入的string memory name和赋值string memory name1 name;都是相同的引用类型是指针赋值 引用类型必须指定数据存储位置数据存储位置还会影响引用类型之间的赋值 3-引用类型高阶 如果是引用类型并且它的数据位置是memary则其传递的是指针没有产生相应的副本 pragma solidity 0.6.1 0.7.0;//contract RefType{// 状态变量 storage (不能修改为内存变量)(此类变量会随着合约的部署存储到分布式账本后面的众筹的钱就要存到状态变量中//否则内存变量一旦执行完毕就会消失)string public _name solidity; //加入的public为访问修饰符若不加编译部署后在左下测无此变量。Public任何的属性和函数都可以访问function f() public{modifyName(_name);}// public 函数参数和返回数据类型必须为memory // internal 受保护的函数,仅仅自身合约或者子合约(支持继承)才能被调用 //pure代表不能对当前变量读写所以去掉下方在进行读写 //下方传入状态变量 //函数中赋值也为状态变量数据存储位置相同传递的是指针即更改某个只会影响到另一个值function modifyName(string storage name) internal{// storage name -- storage name1 传递的是指针// string storage name1 name; // storage name -- memory name1 传递的是数据的副本 string memory name1 name; bytes(name1)[0] S;} }string public _name solidity; //加入的public为访问修饰符若不加编译部署后在左下测无此变量// 1: solidity: 数据类型值类型引用类型 (数组、结构体映射、字符串(bytes数组)有些合约需要存储到分布式账本所以在solidity中不但有数据类型还有数据类型所存的位置存储位置针对引用类型和值类型无关// 2: 值传递是副本而引用类型既可传递指针,也可传递副本(传递规则受数据位置影响)// 3: 三种位置,先掌握内存与存储变量// 1: 内存,局部变量 -- 函数调用完毕后消失// 2: 状态,全局变量 --- 随着合约部署到区块链中(以太坊分布式账本) // 3: 调用数据 (暂时理解成内存变量 略)// 4: 默认的函数参数包括返回的参数他们默认是memory。默认的局部变量是storage。而状态变量肯定是storage(不用指定)// 5: 不同数据位置的引用类型赋值会创建副本,而相同数据位置引用类型仅仅赋值指针状态变量默认是storyge存储类型的 4-固定数组和动态数组 pragma solidity 0.6.0 0.7.0;// 数组是数据类型, 但更具体的说,它是依赖其它数据类型的数据结构(数组指的是相同类型的数值组)// Solidity中的数组可以是固定数组或者动态数组contract ArrDemo{// 固定数组声明时预定了大小的数组,而且后期不能修改uint[5] age; // 动态数组: 声明时没有预定大小的数组可以新增元素 //后期商品的众筹但是平台有多少个商品初始是不知道的商品是个复杂结构体uint[] age2 [uint(10),20,30,40];//构造函数constructor()public{age [uint(10),20,30,40];//初始化了4个元素最后第五个元素未初始化默认零}// 通过for length循环来进行迭代function sum() public view returns(uint){uint total 0;for(uint i 0;iage.length;i){total age[i];}// 固定数组Length不能修改// age.length 10;return total;}// 固定数组可以通过index对数组的值进行操作, 但是不能新增function setValue(uint index,uint value)public{age[index] value;// 静态数组没有push函数// age.push(value);}function sum2() public view returns(uint,uint){uint total 0;for(uint i 0;iage2.length;i){total age2[i];}// 固定数组Length不能修改// age.length 10;return (total,age2.length); //返回多个值需要括号}// 动态数组支持新增操作(length大小是可以扩充的)function addValue(uint val) public{age2.push(val);}}数组的遍历数组的更新对动态数组的添加操作
http://www.hkea.cn/news/14315529/

相关文章:

  • 网站建设甲方原因造成停工建网站赚钱方法
  • 手工网站和自助建站式网站却别qq推广赚钱一个2元
  • 建设企业网站官网企业wow做宏的网站
  • 济南行知网网站建设cod建站系统
  • 公司网站制作的费用申请书wordpress多说
  • 网站目录结构 权限被执行人名单查询
  • 深圳企业网站哪家好网络工程的公司有哪些
  • 成都网站设计新闻电商网站前端页面内容编写
  • 怎样创建个人销售网站做网站的公司怎么赚钱
  • 17网站一起做网店不发货盐城公司注册
  • 网上哪里给公司做网站长沙楼盘信息官网
  • 四川网站建设企业网站制作wordpress首页显示vip标签
  • 做网站排名收益电子商务网站建设程序的开发
  • 做现金贷网站的公司深圳品牌网站
  • 广西网站建设设计山东兴润建设集团网站
  • 深圳做响应式网站制作营商环境网站建设
  • 做网站的怎么学中国工厂网网址
  • 搜狗网站制作做空机构的网站
  • 如何做自己的网站链接学仿网站
  • 建设银行网站显示404网站怎么才能上线
  • 永川网站制作活动软文怎么写
  • 企业综合门户型网站樱桃小丸子网页设计代码
  • 0基础12天精通网站建设网站后台页面设计
  • 怎么制作网站二维码购买网站建设平台
  • 建设中医知识学习网站开挂辅助器
  • 章丘哪里做网站wordpress支付宝个人
  • 网站开发设计思想神箭手 wordpress
  • 国网法治建设网站上海装修公司排名榜
  • 哪家网站专做女性服装wordpress nginx安装
  • 有没有做淘宝的网站吗wordpress用户增加插件