solidity之bytes
contract Test{
//hello world的16进制
bytes10 public b10 = 0x68656c6c6f20776f726c64;
bytes public bytesInfo = new bytes(b10.length);
function fixedByte2Bytes() public{
for (uint i=0; i< b10.length; i++){
bytesInfo[i] = b10[i];
}
}
bytes public bytesInfo1;
function fixedByte2Bytes1() public{
for
}
//2.bytes转换为string
string public helloworld;
function bytes2String() public{
fixedByte2Bytes();
helloworld = string(bytesInfo);
}
}
来写一个简单的求和
contract Test{
uint256[10] numbers = [1,2,3,4,5,6,7,8,9,10];
uint256 public sum;
function getSum() public returns(uint256){
for(uint i=0; i<numbers.length; i++){
sum += i;
}
}
}
写一个数组操作
contract Test{
uint256[] public numbers;
function setValue(uint256 _number) public {
numbers.push(_number);
}
function getNumbers() public view returns(uint256[]){
return numbers;
}
}
再来看另外一种
定义时不赋值
使用new进行分配空间
改变长度的话,要使用storage类型
contract Test{
uint256[] public values;
function setValues1() public{
values = new uint256[](10);
values.length=20;
values[5]=100;
}
function setValues2() public{
uint256[] public local = new uint256[](10);
}
function setValues3() public{
uint256[] localValues = new uint256[](10);
}
function getValues() public view returns(uint256[]){
return values;
}
}
版权声明:本文为qq_33781658原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。