Appearance
特殊变量 
在 Solidity 中,除了全局变量之外,还有一种特殊的变量类型叫做特殊变量。这些变量是只读的,在整个合约中都可以被访问,用于提供有用的信息,例如合约地址等。
示例 
以下是 Solidity 内置的一些常见特殊变量:
- this: 当前合约的地址。
- super: 父合约的引用。
- selfdestruct: 合约销毁时的地址。
- abi: 提供合约- ABI(应用程序二进制接口)的接口。
以下是一个简单的 Solidity 程序示例,其中展示了如何使用特殊变量:
solidity
pragma solidity ^0.8.0;
contract MyContract {
    address public contractAddress; // 声明一个公共的地址状态变量,名为contractAddress
    constructor() public {
        contractAddress = address(this); // 将当前合约的地址赋值给contractAddress
    }
    function getContractAddress() public view returns (address) {
        return contractAddress; // 返回合约地址
    }
}在这个示例程序中,我们定义了一个名为 MyContract 的合约,并声明了一个公共的地址状态变量 contractAddress。
在构造函数中,我们将当前合约的地址赋值给 contractAddress 变量。
在 getContractAddress 函数中,我们返回了合约的地址。
需要注意的是,特殊变量是只读的,不能进行修改,因此我们只能将其值赋给其他变量或返回其值。