我想这样做
struct A
{
uint x;
string str;
}
mapping ((uint,bytes32,uint)=> structA);
可以使用元组作为映射的键吗?
答案 0 :(得分:0)
您不能,只能将基本类型用作键,请参阅文档:https://solidity.readthedocs.io/en/v0.5.8/types.html#mapping-types
不过,您可以使用bytes32
哈希函数将元组转换为keccak256
类型,并安全地使用该值作为键,如下所示:
keccak256(abi.encodePacked(a, b, c))
其中a, b, c
是您的元组的值。