区块链——Solidity智能合约基础实战(六)
固定长度字节数组
由于位是计算机内最小的储存单元,字节是对位的封装,一个字节为8位
在固定长度字节数组中,关键字有:bytes1,bytes2,bytes3,…,bytes32(以步长1递增)
Bytes在内存中和nint本质一样,bytes32=unit256
byte代表的是bytes1
代码段1:
contract ByteArray{
bytes1 public num1 = 0x7a;//0111 1010 bytes2 public num2 = 0x7a68;//0111 1010 0110 1000 bytes12 public num3=0x7a6856e68a69616e78756e;
} |
上述运行结果如下:
可知在solidity中,如果在关键字前面加上public,就会自动生成get方法,无需手动编写。
代码段2:
bytes1 public num1 = 0x7a;//0111 1010 bytes2 public num2 = 0x7a68;//0111 1010 0110 1000 bytes12 public num3=0x7a6856e68a69616e78756e; function getLength() returns(uint){ return num1.length; } |
运行结果如下:
表示字节长度为1
代码段3:
bytes1 public num1 = 0x7a;//0111 1010 bytes2 public num2 = 0x7a68;//0111 1010 0110 1000 bytes12 public num3=0x7a6856e68a69616e78756e; function getLength() returns(uint){ return num3.length; } |
运行结果如下:
Bytes的属性变量长度不能修改
function setLength() retu |