024.Solidity入门——11映射

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值