映射

映射本质上是存储和查找数据所用的键-值对。

mapping (uint => string) intToStr;


地址

以太坊区块链由 account (账户)组成,你可以把它想象成银行账户。一个帐户的余额是 以太 (在以太坊区块链上使用的币种),你可以和其他帐户之间支付和接受以太币,就像你的银行帐户可以电汇资金到其他银行帐户一样。每个帐户都有一个“地址”,你可以把它想象成银行账号。这是账户唯一的标识符。

mapping address => uint )public addressToBalance; //address就是一种数值类型,20个字节,代表你的账户。


msg.sender

以太坊中的全局变量,代表用户的address。


继承

像其他的一样,我们可以将冗余的代码拆分,然后通过继承来传递关系。

contract aaa {

    function a(){

    }

}

contract ccc{

    function c(){

    }

}

contract bbb is aaa,ccc{

    function b(){

        c();

        a();

    }

}


引入

当你有多个文件并且想把一个文件导入另一个文件时,可以使用 import语句。

import “./aaa.sol”

contract bbb is AAA{

    function b(){

        a();

    }

}


接口

如果我们的合约需要和区块链上的其他的合约会话,则需先定义一个 interface (接口)。

contract bbbInterface{

    function bbb();

}

使用接口

bbbInterface bbbcontract = bbbInterface(bbbAddress);//bbbAddress为bbb合约在区块链上的地址address。


多返回值

function multiReturns()public returns(bool a,string b,uint c){

    return  (true,"111",1);

}

function multiReturns()public{

    (a,,c)=multiReturns();//不需要的返回值可以置空

}


if{}else{}和for循环

与js没什么不同