1

我想做这个

 struct A
    {
        uint x;
        string str;
    }
 mapping ((uint,bytes32,uint)=> structA);

可以使用元组作为映射中的键吗?

4

1 回答 1

1

你不能,只有基本类型可以用作键,请参阅文档:https ://solidity.readthedocs.io/en/v0.5.8/types.html#mapping-types

但是,您可以bytes32使用哈希函数将元组转换为类型,keccak256并将该值安全地用作键,如下所示:

keccak256(abi.encodePacked(a, b, c))

a, b, c你的元组的值在哪里。

于 2019-05-25T20:19:07.810 回答