241-solidity之bytes






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版权协议,转载请附上原文出处链接和本声明。