Solidity

如何在映射中保存數組並在 Solidity 中獲取值?

  • June 10, 2022

我想用一組值創建一個映射。例如,我想創建一個地址映射,該映射將保存地址所持有的 tokenIds 數組。

0x0000XXXXX$$ 0 $$= 989

0x0000XXXXX$$ 1 $$= 121

以下是我在程式碼中嘗試的內容:

struct Token {
   uint token;
}
mapping(address => Token[]) public addressMintedTokens;

function setTokens(_receiver, tokenId) internal {
addressMintedTokens[_receiver].push(tokenId);
}

不幸的是,這不起作用並 在結構中的參數相關查找後給出錯誤成員“推送”未找到或不可見

要在映射中插入鍵值對,您可以使用以下語法:

uint tokenId = 1729;
addressMintedTokens[_receiver] = Token({ token: tokenId });

或者這個語法:

uint tokenId = 1729;
addressMintedTokens[msg.sender].push(Token(tokenId));

引用自:https://ethereum.stackexchange.com/questions/129951