solidity - 如何在 Solidity 中初始化映射,最佳实践是什么?
问题描述
我想在智能合约的声明行中初始化我的映射。我想知道最佳做法是什么?我尝试了以下方法,但 Remix 给了我错误:
mapping(address _addr) public view myMap = [ addr-1 : true, addr-2 : false, addr-3 : true ];
解决方案
您需要先声明变量,然后在单独的行中为其赋值。
pragma solidity ^0.8;
contract MyContract {
mapping(address => bool) public myMap;
constructor() {
myMap[address(0x123)] = true;
myMap[address(0x456)] = false;
myMap[address(0x789)] = true;
}
}
推荐阅读
- angular - CSVLayer 在 Angular 6 中不显示 HeatMap
- git - 使用 git 解决合并冲突后恢复 _remote_ 文件
- python - Ubuntu pygame 获取 event.key 值
- python - Python TypeError:必须是实数,而不是str
- xcode - 函数定义大小不适合 xcode
- xamarin - Visual Studio 版本 15.8.1 - 无法为 Xamarin 应用程序启动 iOS 模拟器
- dart - Flutter - 回调函数的问题
- forms - 动态表单 Symfony
- angular - 动态添加按钮组件并将值发送回父级
- javascript - 计算相对于用户位置的不同时区的营业时间