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 ...