【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评论