![solidity智能合约[21]-数组字面量](/default/index/img?u=aHR0cHM6Ly9jYWNoZS55aXN1LmNvbS91cGxvYWQvaW5mb3JtYXRpb24vMjAyMDAzMTIvNjUvMjM5MDA1LmpwZw==&w=245&h=&w=700)
数组字面量特点
1、数组字面量类似与一个常量数组,不能修改大小和长度,例如[1,2,3]
2、数组字面量满足最小匹配原则,意味着[1,2,3]存储的类型为uint8,[256,2,3]存储的类型为uint16。Solidity会自动的匹配最小的能够容纳的类型
3、如果要改变类型的大小,如[1,2,3]中类型为uint256,那么我们可以强制转换为[uint(1),2,3]。
代码例子如下
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
|
pragma solidity ^0.4.23;
contract ArrayLiterals{
function getarrayLiteratel() public pure returns(uint8[3]){ return [1,2,3]; }
function getarrayLiteratel2() public pure returns(uint16[3]){ return [256,2,3]; }
function getarrayLiteratel3() public pure returns(uint[3]){ return [uint(1),2,3]; }
function getarrayLiteratel3(uint[3] grade) public pure returns(uint){ uint sum = 0;
for(uint i = 0;i<grade.length;i++){ sum+=grade[i]; }
return sum; } }
|
本文链接: https://dreamerjonson.com/2018/11/20/solidity-21-arrayiterator/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处!
![solidity智能合约[21]-数组字面量 solidity智能合约[21]-数组字面量](/default/index/img?u=aHR0cHM6Ly9jYWNoZS55aXN1LmNvbS91cGxvYWQvaW5mb3JtYXRpb24vMjAyMDAzMTIvNjUvMjM5MDA1LmpwZw==)