solidity语言8

it2022-05-05  174

solidity语言8

输入参数

pragma solidity ^0.4.16; contract Simple { function taker(uint _a, uint _b) public pure { // do something with _a and _b. } }

输出参数

pragma solidity ^0.4.16; contract Simple { function arithmetics(uint _a, uint _b) public pure returns (uint o_sum, uint o_product) { o_sum = _a + _b; o_product = _a * _b; } } 关键字returns,返回参数如果没有,则返回0

返回多个值

return (v0, v1, ..., vn),函数的输出参数必须匹配同样数量参数

内部函数调用

pragma solidity ^0.4.16; contract C { function g(uint a) public pure returns (uint ret) { return f(); } function f() internal pure returns (uint ret) { return g(7) + f(); } }

外部函数调用

表达式 this.g(8), c.g(2) 当调用其他合约的函数,调用的转帐wei,gas使用.value() 和 .gas() pragma solidity ^0.4.0; contract InfoFeed { function info() public payable returns (uint ret) { return 42; } } contract Consumer { InfoFeed feed; function setFeed(address addr) public { feed = InfoFeed(addr); } function callFeed() public { feed.info.value(10).gas(800)(); } } posted on 2018-02-28 14:48 北京涛子 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/liujitao79/p/8483582.html


最新回复(0)