Solidity学习::(2)delete运算符

solidity语言中,delete与在其他语言的不同.

Solidity中的delete仅仅是一项赋值运算,用作给变量赋初始值。而不是删除对象

具体作用参见下面代码注释:

contract DeleteExample{
    function deleteArray(){
        uint[] memory a=new uint[](3);
        a[0]=1;a[1]=2;a[2]=3;
        delete a[1];//数组将变为[1,0,3]
        delete a;  //数组长度a.length=0
    }
    struct S{
        uint a;
        string b;
        bytes c;
    };
    function deleteStrut(){
        S s=S(1,"hello","world"); //定义结构体对象
        delete s;//删除结构体对象s中的所有元素,a,b,c分别赋值0,空字符串,0x0
    }
}

 

你可能感兴趣的:(区块链学习)