# Solidity极简入门: 8. 变量初始值 **Published by:** [0xAA](https://paragraph.com/@wtfacademy/) **Published on:** 2022-05-09 **URL:** https://paragraph.com/@wtfacademy/solidity-8 ## Content 我最近在重新学solidity,巩固一下细节,也写一个“Solidity极简入门”,供小白们使用(编程大佬可以另找教程),每周更新1-3讲。 欢迎关注我的推特:@0xAA_Science WTF技术社群discord,内有加微信群方法:链接 所有代码和教程开源在github(1024个star发课程认证,2048个star发社群NFT): github.com/AmazingAng/WTFSolidity变量初始值在solidity中,声明但没赋值的变量都有它的初始值或默认值。这一讲,我们将介绍常用变量的初始值。值类型初始值boolean: falsestring: ""int: 0uint: 0enum: 枚举中的第一个元素address: 0x0000000000000000000000000000000000000000 (或 address(0))functioninternal: 空白方程external: 空白方程可以用public变量的getter函数验证上面写的初始值是否正确: bool public _bool; // false string public _string; // "" int public _int; // 0 uint public _uint; // 0 address public _address; // 0x0000000000000000000000000000000000000000 enum ActionSet { Buy, Hold, Sell} ActionSet public _enum; // 第一个元素 0 function fi() internal{} // internal空白方程 function fe() external{} // external空白方程 引用类型初始值映射mapping: 所有元素都为其默认值的mapping结构体struct: 所有成员设为其默认值的结构体数组array动态数组: []静态数组(定长): 所有成员设为其默认值的静态数组可以用public变量的getter函数验证上面写的初始值是否正确: // Reference Types uint[8] public _staticArray; // 所有成员设为其默认值的静态数组[0,0,0,0,0,0,0,0] uint[] public _dynamicArray; // `[]` mapping(uint => address) public _mapping; // 所有元素都为其默认值的mapping // 所有成员设为其默认值的结构体 0, 0 struct 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 } 总结这一讲,我们介绍了solidity中变量的初始值。变量被声明但没有赋值的时候,它的值默认为初始值。不同类型的变量初始值不同,delete操作符可以删除一个变量的值并代替为初始值。 ## Publication Information - [0xAA](https://paragraph.com/@wtfacademy/): Publication homepage - [All Posts](https://paragraph.com/@wtfacademy/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@wtfacademy): Subscribe to updates - [Twitter](https://twitter.com/0xAA_Science): Follow on Twitter