当前位置: 首页 > news >正文

手机网站广告成都市住房和城乡建设厅官网

手机网站广告,成都市住房和城乡建设厅官网,线上兼职,网页设计师职业要求在 Solidity 中,直接返回一个 mapping 的所有数据是不可能的,因为 mapping 本身不支持直接遍历。但是,可以使用一些技巧来实现这一目标,例如通过维护一个额外的数组来跟踪 mapping 中的键,并通过这个数组来返回所有的键…

在 Solidity 中,直接返回一个 mapping 的所有数据是不可能的,因为 mapping 本身不支持直接遍历。但是,可以使用一些技巧来实现这一目标,例如通过维护一个额外的数组来跟踪 mapping 中的键,并通过这个数组来返回所有的键值对。

示例代码

假设有一个 mapping(uint256 => uint256),并且想要创建一个函数来返回该 mapping 的所有键值对,可以按照以下步骤操作:

  1. 维护一个额外的数组来存储所有的键
  2. 创建一个新的数组来存储键值对
  3. 使用循环来填充新数组
  4. 返回新数组
示例代码
pragma solidity ^0.8.0;contract MappingIteration {mapping(uint256 => uint256) public pledgeMap;uint256[] public pledgeKeys;function addEntry(uint256 _key, uint256 _value) public {pledgeMap[_key] = _value;// 如果键不存在于数组中,则添加到数组if (!contains(_key)) {pledgeKeys.push(_key);}}function contains(uint256 _key) private view returns (bool) {for (uint256 i = 0; i < pledgeKeys.length; i++) {if (pledgeKeys[i] == _key) {return true;}}return false;}function getAllEntries() public view returns (uint256[] memory, uint256[] memory) {uint256[] memory keys = new uint256[](pledgeKeys.length);uint256[] memory values = new uint256[](pledgeKeys.length);for (uint256 i = 0; i < pledgeKeys.length; i++) {keys[i] = pledgeKeys[i];values[i] = pledgeMap[keys[i]];}return (keys, values);}
}

解释

  1. 添加条目:

    • addEntry 函数在向 mapping 添加条目时,还会检查该键是否已经存在于 pledgeKeys 数组中,如果不存在,则添加到数组中。
  2. 遍历:

    • getAllEntries 函数创建两个数组 keysvalues,并将 mapping 中的所有键值对复制到这两个数组中。
  3. 包含检查:

    • contains 函数用于检查键是否已经存在于 pledgeKeys 数组中。

示例用法

假设想要从合约中获取 pledgeMap 的所有键值对,可以这样调用函数:

MappingIteration myContract = new MappingIteration();
myContract.addEntry(1, 100);
myContract.addEntry(2, 200);
myContract.addEntry(3, 300);(uint256[] memory keys, uint256[] memory values) = myContract.getAllEntries();

在这个例子中,keysvalues 数组将分别包含 pledgeMap 中的所有键和值。

注意事项

  • 在使用额外数组的方法时,要注意在删除条目时也需要更新数组。
  • 使用自定义库的方法需要更多的代码和维护工作,但提供了更灵活的功能。
http://www.yayakq.cn/news/906803/

相关文章:

  • 网站推广新手入门教程目前哪些企业需要做网站建设的呢
  • 江门专业做网站wordpress的简单应用
  • 南充阆中网站建设浦江县做网站
  • 十堰优化网站哪家好深圳ui设计培训班
  • 太原市城乡建设局网站网页设计图片叠加
  • 国家网站建设的相关规定电子商务网站体系结构有哪些
  • 室内设计做效果图可以接单的网站dw可以制作网站吗
  • 网站备案和域名备案一样吗网站的营销与推广
  • 栅格系统做的网站哈尔滨市工程招标网
  • 用于网站开发的语言readme.md做网站
  • 商业平台网站开发网站全局搜索如何做
  • 手机端网站开发视频教程做不了飞机要看什么网站
  • 大连做网站的网络公司网页源代码是什么语言
  • 网站公司制作手机怎样建立自己网站
  • wap网站发布wordpress首页排版错误
  • 简述网站建设和推广评价指标国内网站建设公司top20
  • word 发布到wordpress购物网站seo搜索引擎优化方案
  • 免费qq空间网站福建整站优化
  • 网站怎么伪静态山东营销型网站
  • 海尔建设网站的内容永久免费微信小程序商城
  • 成都建设局网站上海小程序搭建
  • 官方网站平台有哪些大连开发区网站开发公司
  • 济南专业网站建设哪家便宜数字营销包括哪些方面
  • 北京响应式网站制作公司电子商务平台经营者向平台内经营者收取费用
  • 如何看出网站用的是什么cms程序自适应网站建设推荐
  • 游戏软件开发就业前景百度搜索优化平台
  • 做一个网站需要哪些步骤网站开发后端需要哪些技术
  • 打开网站notfound北京自考网址
  • 网站制作网站开发公司互联网时代的营销
  • 网站短链接生成wordpress 修改注册地址