Solidity语法

这里我先上一张图,以森见木,方能了然于心。

通学智能合约系列(三)--语法概览_编程语言

从上图可以看出,我们主要从两方面来说明Solidity的语法即​​数据类型​​​与​​运算​​,比较复杂的部分就是我们的数组部分。至于这部分,我们暂且按下不表,待我娓娓道来。

1.真假与或非

废话不多说,我们直接上代码:

pragma solidity ^0.4.16;

contract BoolTest{

bool a;

function getBoolDefault() returns(bool){
return a;
}

}

编译执行后,我们可以看到如图:

通学智能合约系列(三)--语法概览_区块链_02

从上图中可以看到,我们boolean类型默认为false,当然,这应该是一个公理吧。在所有的编程语言中应该都是如此?如果你有知道不是的,请扔过来打我脸。

在这里要说明一点,为什么我要保姆级别地圈选如此详细的一个图呢?因为我们编写智能合约,查看结果就是这个样子,请闹记于心,后续只会做简要说明。

下面在上一段代码,至于结果,相信你们都是有经验的开发人员,不用我做额外解释

pragma solidity ^0.4.16;

contract BoolTest{

bool a;

int c = 100;
int d = 200;

function getBoolDefault() returns(bool){
return a;
}

function getBoolean() returns(bool){
return !a;
}

function judge() returns(bool){
return c==d;
}

function logicAnd() returns(bool){
return c==d && true;
}

function logicOr() returns(bool){
return c==d || true;
}

function logicNot() returns(bool){
return c!=d && true;
}

}

上面的代码,大家可以敲一敲,主要是找找新语言的手感,另外熟悉一下编译,部署过程。

此外,这里要注意的点是,solidity不支持java等语言中的 & |这两个逻辑运算。