我读了很多关于这个话题的文章,我明白它退出得很好。但是,我唯一不明白的是,在函数中,开发人员如何在没有插入值的函数的情况下使用它。示例:
mapping (uint256=>address) public IdToAddress; 在它们定义了它之后,我看到它们在以下函数中使用:
function HolderOfNFT(Uint256 Id) public returns (address) {
return IdToAddress[Id];}
映射如何在指向正确地址的Id键中有值?非常感谢!!
发布于 2022-03-01 12:36:20
默认情况下,所有映射值都是空的。
因此,除非在代码中的某个地方设置了值,否则您的示例将返回任何Id的Id。
您可以像将映射值赋值给数组一样,分配映射值。示例:
IdToAddress[Id] = address(0x123);function transfer(address _recipient, uint256 _id) public {
require(IdToAddress[_id] == msg.sender, "You're not the current token owner");
IdToAddress[_id] = _recipient;
}https://stackoverflow.com/questions/71307803
复制相似问题