今天來複習 functions 的語法,學習怎麼定義一個 function 吧!
在 Solidity 的語法中,除了使用者自定義的 functions 以外,還存在一些特殊的 functions: constructor
, receive
, fallback
,就讓我們來學習怎麼使用他們囉。
本日的練習題:小豬撲滿
功能要求:
解答:
https://gist.github.com/hydai/be2e42877efc29b6d9536ef28a87ee8a
// SPDX-License-Identifier: MIT
pragma solidity >=0.4.22 <0.8.0;
contract PiggyBank {
uint public goal;
constructor(uint _goal) {
goal = _goal;
}
receive() external payable {}
function getMyBalance() public view returns (uint) {
return address(this).balance;
}
function withdraw() public {
if (getMyBalance() > goal) {
selfdestruct(msg.sender);
}
}
}
本日影片連結:
https://youtu.be/v6pSZaYD1IA
本系列播放清單:
https://www.youtube.com/playlist?list=PLHmOMPRfmOxQ3HSlId8KAKxnt8yuyTZVk