以太坊智能合约开发:Solidity语言中的映射

本文我们介绍Solidity语言中的映射,包括映射的基本定义、语法、映射的变量声明和基本读写操作。并且通过两个智能合约例子演示了映射的定义与基本操作。

基本概念

Solidity中关于映射的一些定义:

  • 映射以键-值对(key => value)的形式存储数据;
  • 键可以是任何内置数据类型,包括字节和字符串类型,但不允许引用类型,如数组、结构体和映射;
  • 值可以是任何数据类型,包括另一个映射或数组;
  • 映射是不可迭代的,即无法通过遍历映射来枚举所有的键;
  • 映射通常用于将唯一的以太坊地址与值类型关联起来。

声明语法

映射的定义语法如下:

mapping(key => value) <access specifier> <name>;

例如:

mapping(address => uint) public balances;

以上代码声明了一个从 address 类型到 uint 类型的映射,可见性权限是 public,名称为 balances

合约例子

例子1

演示映射的定义,基本的数据添加和读取操作。

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;

// 映射
contract Mapping {
    // address => uint
    mapping(address => uint) public map;

    // 取值
    function get(address _addr)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

StevenX5

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值