Solidity语法
这里我先上一张图,以森见木,方能了然于心。
从上图可以看出,我们主要从两方面来说明Solidity的语法即数据类型
与运算
,比较复杂的部分就是我们的数组部分。至于这部分,我们暂且按下不表,待我娓娓道来。
1.真假与或非
废话不多说,我们直接上代码:
pragma solidity ^0.4.16;
contract BoolTest{
bool a;
function getBoolDefault() returns(bool){
return a;
}
}
编译执行后,我们可以看到如图:
从上图中可以看到,我们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等语言中的 & |这两个逻辑运算。