solidity智能合约[16]-固定长度数组-创新互联
数组
内存中的一片连续区域
创新互联公司主要从事网站建设、
成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务黄骅,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
定义
1 2
| int[7] math; bytes2[3] bytesTest;
|
赋值
1
| uint[5] public grade =[1,2,3,4,5];
|
修改内容
1 2 3
| function init2() public { bytesTest[1] = 0x6a6f; }
|
返回数组
1 2 3 4
| function getArray2() public view returns(bytes2[3]){
return bytesTest; }
|
获取数组长度
1 2 3 4
| function getlength() public view returns(uint){ return grade.length;
}
|
数组遍历求和
1 2 3 4 5 6 7
| function add() public view returns(uint){ uint sum= 0 ; for(uint i = 0;i<5;i++){ sum+=grade[i]; } return sum; }
|
错误代码
固定数组不能修改大小和内容
1 2 3 4 5 6 7 8 9 10 11
|
// function getlength3() public{ // grade.length =90;
// }
// function pushelement() public {
// grade.push(90); // }
|
完整例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| pragma solidity ^0.4.23;
contract arrayTest{
uint[5] public grade =[1,2,3,4,5];
int[7] math; bytes2[3] bytesTest;
function init2() public { bytesTest[1] = 0x6a6f; }
function getArray2() public view returns(bytes2[3]){
return bytesTest; } function init() public { grade[0] = 100; grade[1] = 200; }
function getArray() public view returns(uint[5]){
return grade; }
function add() public view returns(uint){ uint sum= 0 ; for(uint i = 0;i<5;i++){ sum+=grade[i]; } return sum; }
function getlength() public view returns(uint){ return grade.length;
}
// function getlength3() public{ // grade.length =90;
// }
// function pushelement() public {
// grade.push(90); // }
}
|
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:solidity智能合约[16]-固定长度数组-创新互联
本文链接:
http://hbruida.cn/article/pdghh.html