Solidity中的mapping是一种数据结构,它与JavaScript中的对象很相似,用于存储键值对。mapping的键类型可以是任意类型的值,但值类型必须是数字、字符串或其他的mapping。
示例代码:
pragma solidity ^0.8.7;
contract MappingExample {
//定义一个mapping类型,存储address到uint的映射关系
mapping(address => uint) public balances;
//函数,用于给地址存储的余额增加一个值
function addBalance(address _address, uint _value) public {
//将余额加上给定的值
balances[_address] += _value;
}
}
说明:
定义了一个mapping类型,称为balances,其中键类型为address,值类型为uint。
定义了一个公共函数addBalance,用于给某个地址存储的余额加上一个值。
函数体内通过mapping的键访问映射关系,加上给定的值。
注意:在mapping中,初始值为0。因此,如果想要访问mapping中某个未初始化的键,将会返回0。

文章介绍了Solidity中的mapping数据结构,它用于存储键值对,类似于JavaScript的对象。键可以是任意类型,而值必须是数字或特定类型。文中提供了一个示例合约,展示了如何定义一个address到uint的mapping,并实现添加余额的函数。注意,mapping的默认初始值为0。

被折叠的 条评论
为什么被折叠?



