28.payable

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;
contract Payable  {
    // payable 标记函数:接收以太币,接收以后存储到合约中
    function deposit1() external payable {
        // 处理接收到的以太币
    }

    function deposit2() external {}

    // payable 标记函数
    function withdraw() external {
        // msg.sender合约的调用者
        // 把当前合约的所有余额全部转到调用者
        payable(msg.sender).transfer(address(this).balance);
    }

    // 通过balance属性来查看余额
    function getBalance() external view returns (uint256) {
        return address(this).balance;
    }
}