区块链——Solidity智能合约基础实战(七)

区块链——Solidity智能合约基础实战(七)

动态字节数组

动态字节数组与静态字节数组的区别在于是否能修改数组的长度及内容

代码段1:

pragma solidity ^0.4.0; contract DynamicByte{ bytes public name = new bytes(2); function InitName(){ name[0] = 0x7a; name[1] = 0x68; } function getLength() view returns(uint){ return name.length; } function ChangeName(){ name[0] = 0x88; } }

首先调用InitName方法,然后调用getLength方法及name方法,效果如下:

先调用chageName方法,再调用getLength方法及name方法,效果如下:

代码段2:

function changeLength(){ name.length = 5; }

点击getLenggth再changeLength再getLength结果如下;

注意:在solidity中,长度是在原长度的右侧进行填充

代码段3:

function pushtest(){ name.push(0x99);//可在原内容之后增加99,并将长度改变 }

调用前:

调用后:

经验分享 程序员 微信小程序 职场和发展