《道德经》第一章第二句“无名,万物之始;有名,万物之母。”有和无的概念有点类似于计算机初始二进制0与1。从哲学的可知与不可知的分歧中,计算机语言中的bool为之打开了另类的世界。

实验目的

1. 理解bool类型默认值。

2.通过实验加深对solidity状态变量默认值的印象及运算方式。

实验要求

1. 在复制代码测试前,请先填写好代码可能会返回的值来代替注释里面的数字。

2. 思考一下为什么bool的默认值(true还是false)会这样设定?它在Solidity的应用场景有哪些(举两到三个例子)?

以下是本次实验所用的测试代码,请使用remix编辑器进行该实验。

pragma solidity ^0.8.0;
contract BoolTest{ 
    bool a; 
    int c = 100; 
    int d = 200; 
    function getBoolDefault( ) public view returns ( bool ) { 
        return a; 
    }  //会返回(1)
    function getBoolean( ) public view returns ( bool ) { 
        return !a; 
    }   //会返回(2)
    function judge( ) public view returns ( bool ) { 
        return c==d; 
    }   //会返回(3)
    function logicAnd( ) public view returns ( bool ) { 
        return c==d && true;   
    }    //会返回(4)
    function logicOr( ) public view returns ( bool ) { 
        return c==d || true;  
    }    //会返回(5)
    function logicNot() public view returns ( bool ) {
        return c!=d && true; 
    }    //会返回(6)
}

以下为本实验的配套教学视频: