📅  最后修改于: 2023-12-03 14:47:30.756000             🧑  作者: Mango
映射(Mappings)是 Solidity 中一种用于存储键值对的高级数据类型。它类似于其他编程语言中的哈希表或字典。
映射的声明格式如下:
mapping(keyType => valueType) public mapName;
其中,keyType
是映射中键的数据类型,valueType
是映射中值的数据类型,mapName
是映射的名称。可以根据需要选择不同的数据类型作为键和值。
可以使用键来访问和修改映射中的值。例如:
mapName[key] = value;
上述代码将映射 mapName
中键 key
对应的值设为 value
。
要访问映射中的值,可以使用 mapName[key]
的方式。如果键不存在,则返回默认值。
映射具有以下特性:
下面是一个示例,演示了如何使用映射:
// 声明映射
mapping(uint => string) public students;
// 添加键值对
function addStudent(uint studentId, string memory name) public {
students[studentId] = name;
}
// 获取学生姓名
function getStudent(uint studentId) public view returns (string memory) {
return students[studentId];
}
上述代码中,我们声明了一个映射 students
,将学生 ID(作为键)与学生姓名(作为值)关联起来。addStudent
函数用于添加学生的姓名,getStudent
函数用于获取学生的姓名。
请注意,映射的可见性修饰符 public
允许在合约外部访问映射。您可以根据需要选择不同的可见性修饰符。
映射是 Solidity 中一种强大的数据类型,用于存储键值对。通过映射,您可以轻松地实现键值关联和查找功能。在编写 Solidity 合约时,映射是一个有用的工具,特别是当您需要管理大量数据时。