【Solidity】Array的用法
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
contract test {
uint[] internal nums = [1,2,3];
uint public numsLength = 0;
uint[3] public fixedNums = [4,5,6];
function examples() external {
nums.push(4);//在nums后面加入4 => [1,2,3,4]
nums[2] = 99;//在nums的key2的值改成99 => [1,2,99,4]
delete nums[0];//把nums的key0给删除了,key0的原始值就是0 => [0,2,99,4]
numsLength = nums.length;//获取array的长度,就算是删除了key0长度还是不变的 => 4
nums.pop();//把nums的最后的值给去除了,所以长度会是3 => [0,2,99]
//fixedNums.pop();//固定长度的array,无法改值,无法pop(), 无法push()
//在function内创建array由于没有存进链内,所以必须在内存里创建array
uint[] memory a = new uint[](1);//创建动态长度的array
a[0] = 123;
nums = a;//把nums的array整个改成了a的值
}
function checkNums() external view returns(uint[] memory) {
return nums;
}
}
![]()
Facebook评论