Solidity 变量默认值

Solidity 智能合约中所有的状态变量和局部变量,都有默认值。

这些变量在没有被赋值之前,它的值已默认值的形式存在。

其中:

bool 类型变量默认值为 false;

int 类型变量默认值为 0;

uint 类型变量默认值为 0;

address 类型变量默认值为:0x0000000000000000000000000000000000000000,共 40个 0;

bytes32 类型变量默认值为:0x0000000000000000000000000000000000000000000000000000000000000000,共 64个 0。

示例:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract SolidityTest {
   bool public a;    // false
   int public b;     // 0
   uint public c;     // 0
   address public d;     // 0x0000000000000000000000000000000000000000
   bytes32 public e;     // 0x0000000000000000000000000000000000000000000000000000000000000000
}

局部变量的作用域仅限于定义它们的函数,但是状态变量可以有四种作用域类型:public – 公共状态变量可以在内部访问,也可以从外部访问。对于公共状态变量,将自动生成一个 getter 函数。priv ...