Solidity
如何在映射中保存數組並在 Solidity 中獲取值?
我想用一組值創建一個映射。例如,我想創建一個地址映射,該映射將保存地址所持有的 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));