Solidity语言学习笔记————13、固定大小字节数组

固定大小字节数组的构建

Solidity中固定大小的字节数组可以通过关键字“byte+n”来实现,其中n为该数组的存储空间的大小,其单位为字节。

例如:byte6  a————表示一个6个字节大小的数组a。需要注意的是我们经常看到的“byte”就是“bytes1”。

实例如下:

pragma solidity ^0.4.0;

contract test{

    //数据用十六进制表示为: 0x6a667575856568757e

    byte public a = 0x6a; 
    bytes1 public b = 0x6a; 
    bytes2 public c = 0x6a66; 
    bytes3 public d = 0x6a6675; 
   
    // ...

    bytes8 public e = 0x6a66757585656875; 
    bytes9 public f = 0x6a667575856568757e;

}

Solidity语言学习笔记————13、固定大小字节数组_第1张图片

说明:当你要存储的数据远大与数组当中可用的空间的时候会直接报错!

固定大小字节数组的长度不可变

对于固定大小的字节数组而言,他们的数组长度值是一个恒定的值,无法通过赋值来进行修改,例如:

pragma solidity ^0.4.0;

contract test{

    bytes6 info=0x666666666666;
    function length(){
        info.length=100;
    }
}

Solidity语言学习笔记————13、固定大小字节数组_第2张图片

固定大小字节数组的内容字节不可变

对于固定大小的字节数组而言,一旦该数组完成初始化之后,其内容是不可修改的。例如:

pragma solidity ^0.4.0;

contract test{

    bytes6 info=0x666666666666;
    function length(){
        info[0]=6;
    }
}

Solidity语言学习笔记————13、固定大小字节数组_第3张图片


后续内容更精彩,敬请期待!


你可能感兴趣的:(【区块链】,————Solidity)