网站怎么提升百度收入,在家怎么提升学历,活动线报资源网,wordpress防爆破插件Solidity 小白教程#xff1a;8. 变量初始值
变量初始值
在solidity中#xff0c;声明但没赋值的变量都有它的初始值或默认值。这一讲#xff0c;我们将介绍常用变量的初始值。
值类型初始值
boolean: falsestring: “”int: 0uint: 0enum: 枚举中的第一个元素address: …Solidity 小白教程8. 变量初始值
变量初始值
在solidity中声明但没赋值的变量都有它的初始值或默认值。这一讲我们将介绍常用变量的初始值。
值类型初始值
boolean: falsestring: “”int: 0uint: 0enum: 枚举中的第一个元素address: 0x0000000000000000000000000000000000000000 (或 address(0))function internal: 空白方程external: 空白方程
可以用public变量的getter函数验证上面写的初始值是否正确
bool public _bool; // falsestring public _string; // int public _int; // 0uint public _uint; // 0address public _address; // 0x0000000000000000000000000000000000000000enum ActionSet { Buy, Hold, Sell}ActionSet public _enum; // 第1个内容Buy的索引0function fi() internal{} // internal空白方程function fe() external{} // external空白方程引用类型初始值
映射mapping: 所有元素都为其默认值的mapping结构体struct: 所有成员设为其默认值的结构体数组array 动态数组: []静态数组定长: 所有成员设为其默认值的静态数组
可以用public变量的getter函数验证上面写的初始值是否正确
// Reference Typesuint[8] public _staticArray; // 所有成员设为其默认值的静态数组[0,0,0,0,0,0,0,0]uint[] public _dynamicArray; // []mapping(uint address) public _mapping; // 所有元素都为其默认值的mapping// 所有成员设为其默认值的结构体 0, 0struct Student{uint256 id;uint256 score;}Student public student;delete操作符
delete a会让变量a的值变为初始值。
// delete操作符bool public _bool2 true;function d() external {delete _bool2; // delete 会让_bool2变为默认值false}在 remix 上验证
部署合约查看值类型、引用类型的初始值值类型、引用类型 delete 操作后的默认值
总结
这一讲我们介绍了solidity中变量的初始值。变量被声明但没有赋值的时候它的值默认为初始值。不同类型的变量初始值不同delete操作符可以删除一个变量的值并代替为初始值。