Appearance
变量默认值
在 Solidity
中,变量在声明时会有一个基于其类型的默认值。没有 undefined
或 null
的概念。
分类
以下是 Solidity
常用变量类型的默认值:
- 布尔型(
bool
):默认值为false
。 - 整型(uint/int
):默认值为
0`。 - 地址(
address
):默认值为0x0000000000000000000000000000000000000000
。 - 枚举(
enum
):默认值为枚举列表的第一个值。 - 字符串(
string
):默认值为空字符串(“”)。 - 数组(
array
):默认值为长度为0的空数组。
示例
以下是一个简单的 Solidity
程序示例,其中展示了变量的默认值:
solidity
pragma solidity ^0.8.0;
contract MyContract {
bool public myBool; // 默认值为false
uint public myUint; //默认值为0
address public myAddress; //默认值为0x0000000000000000000000000000000000000000
enum MyEnum {FIRST, SECOND, THIRD} //默认值为FIRST。
MyEnum public myEnum;
string public myString; //默认值为空字符串。
uint[] public myArray; //默认值为长度为0的空数组。
function initialize() public {
myBool = true;
myUint = 42;
myAddress = 0x1234567890123456789012345678901234567890;
myEnum = MyEnum.SECOND;
myString = "Hello, World!";
myArray.push(1);
myArray.push(2);
myArray.push(3);
}
}
在这个示例程序中,我们定义了一个名为 MyContract
的合约,并声明了不同类型的变量,展示了它们的默认值以及如何对这些变量赋值。
运行 initialize
函数后,这些变量将被分别赋予不同的值。