div#pop_ad { opacity: 0; }
function (funcName) ( parameter types ) {public|external|internal|private} [constant|view|payable] [returns ( return types )]pragma solidity ^0.4.24;contract Test { function f(){} //以internal的方式调用 function callInternally(){ f(); }}pragma solidity ^0.4.24;contract A{ function f(){}}contract B{ //以external的方式调用另一合约中的函数 function callExternal(A a){ a.f(); }}pragma solidity ^0.4.24;contract A{ function f() external{} function callExternally(){ this.f(); }}pragma solidity ^0.4.24;contract FuntionTest{ function externalFunc() external{} function callFunc(){ //以`internal`的方式调用函数报错 //Error: Undeclared identifier. //externalFunc(); //以`external`的方式调用函数 this.externalFunc(); }}pragma solidity ^0.4.24;contract FuntionTest{ //默认是public函数 function publicFunc(){} function callFunc(){ //以`internal`的方式调用函数 publicFunc(); //以`external`的方式调用函数 this.publicFunc(); }}pragma solidity ^0.4.24;contract A{ function internalFunc() internal{} function callFunc(){ //以`internal`的方式调用函数 internalFunc(); }}contract B is A{ //子合约中调用 function callFunc(){ internalFunc(); }}pragma solidity ^0.4.24;contract A{ function privateFunc() private{} function callFunc(){ //以`internal`的方式调用函数 privateFunc(); }}contract B is A{ //不可调用`private` function callFunc(){ //privateFunc(); //这里无法调用合约A中的内部函数, //且在编译阶段就会报错 } //但是间接调用private函数,但是需要这个private函数处在public中 //function callPrivateByPublicFunc(){ // callFunc(); //}}pragma solidity ^0.4.24;contract C { function f(uint a, uint b) public pure returns (uint) { return a * (b + 42); }}pragma solidity ^0.4.24;contract Ownable { address public owner = msg.sender; /// 限制只有创建者才能访问 modifier onlyOwner { if (msg.sender != owner) throw; _; } /// 改变合约的所有者 function changeOwner(address _newOwner) onlyOwner { if(_newOwner == 0x0) throw; owner = _newOwner; }}pragma solidity ^0.4.24;contract Parameter{ uint balance = 10; modifier lowerLimit(uint _balance, uint _withdraw){ if( _withdraw 0 || _withdraw _balance) throw; _; } //含参数的函数修改器 function f(uint withdraw) lowerLimit(balance, withdraw) returns (uint){ return balance; }}pragma solidity ^0.4.24;contract ParameterExpression{ modifier m(uint a){ if(a 0) _; } function add(uint a, uint b) private returns(uint){ return a + b; } function f() m(add(1, 1)) returns(uint){ return 1; }}pragma solidity ^0.4.24;contract AddressExample { function AddressExample() payable{} function giveEthersTo(address _toAccount,uint amount){ if (this.balance =amount){ _toAccount.transfer(amount); } } function getBalance() view returns(uint){ return this.balance; } //function() payable{}}pragma solidity ^0.4.24;contract Test { function() public payable {} function getX() view returns(uint){ return x; } function getBalance() view returns(uint){ return this.balance; }}contract Caller { function Caller()payable{} function callTest(Test test) public { test.call(0xabcdef01); // test.transfer(2 ether); } function getBalance() view returns(uint){ return this.balance; }}pragma solidity ^0.4.24;contract A { uint public a; constructor(uint _a) internal { a = _a; }}pragma solidity ^0.4.24;contract ContractConstructor{ uint public counter; function ContractConstructor(){ counter++; }}-END-

助教卫星:lkxy007
添加新手交流群:币种分析、每日早晚盘分析
添加助理微信,一对一亲自指导:YoYo8abc