如何让地图(TON区块链)增值?

问题描述 投票:0回答:1

我正在寻找一种增加地图价值的方法,这是我的代码

import "@stdlib/deploy";


contract Holders with Deployable {
    holders: map<Address, Int>;
    owner: Address;

    init() {
        self.owner = sender();
    }

    receive("start") {
       let amount: Int? = self.holders.get(sender());
       self.holders.set(sender(), amount + 100);
    }  
     
    get fun balance(key: Address): Int? {
        return self.holders.get(key);
    }
}

我必须输入“Int?” amount 变量的状态,如果我不输入它会给出错误,但如果我输入“Int?”添加“金额 + 100”时会出现错误。

有没有办法增加地图的价值?

smartcontracts ton tact
1个回答
0
投票

如果您确定该键存在于地图中,您可以使用

!!
运算符将
Int?
转换为
Int

let amount: Int? = self.holders.get(sender());
if (amount != null) {
  self.holders.set(sender(), amount!! + 100);
}

应该可以正常工作

© www.soinside.com 2019 - 2024. All rights reserved.