原文标题:《Solidity 极简入门: 6. 映射类型mapping》 原文作者:0xAA 我最近在重新学 solidity,巩固一下细节,也写一个「Solidity 极简入门」,供小白们使用(编程大佬可以另找教程),每周更新 1-3 讲。 所有代码开源在 github :github.com/AmazingAng/WTFSolidity 这一讲,我们将介绍 solidity 中的哈希表:映射(Mapping)类型。 映射 Mapping 在映射中,人们可以通过键(Key)来查询对应的值(Value),比如:通过一个人的 id 来查询他的钱包地址。 声明映射的格式为mapping(_KeyType => _ValueType),其中 _KeyType 和 _ValueType 分别是 Key 和 Value 的变量类型。例子: 映射的规则 规则 1:映射的 _KeyType 只能选择 solidity 默认的类型,比如 uint,address 等,不能用自定义的结构体。而 _ValueType 可以使用自定义的类型。下面这个例子会报错,因为 _KeyType 使用了我们自定义的结构体: 规则 2:映射的存储位置必须是 storage,因此可以用于合约的状态变量,函数中的 stoage 变量。不能用于 public 函数的参数或返回结果中。 规则 3:如果映射声明为 public,那么 solidity 会自动给你创建一个 getter 函数,可以通过 Key 来查询对应的 Value。 规则 4:给映射新增的键值对的语法为 _Var[_Key] = _Value,其中 _Var 是映射变量名,_Key 和 _Value 对应新增的键值对。例子: 总结 这一讲,我们介绍了 solidity 中哈希表——映射(Mapping)的用法。至此,我们已经学习了所有常用变量种类,之后我们会学习控制流 if-else, while 等。 原文链接 —- 编译者/作者:区块律动BlockBeat 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
Solidity极简入门|第六讲:映射类型 mapping
2022-06-19 区块律动BlockBeat 来源:区块链网络
LOADING...
相关阅读:
- 科普 | 什么是Soilidity?2021-12-03
- 无需许可的二次融资协议 CLR.fund 启动第八轮二次融资2021-10-08
- 稳定币兑换协议 Shell Protocol 发布 V2 版本路线图2021-09-28
- Nethermind Warp 将演示把 Uniswap V3 转换到 Cairo 并将其部署在 StarkNet 上2021-09-22
- Optimism 将升级为 EVM 全兼容,开发者可使用 Solidity 智能合约直接部署2021-09-18