Blockchain 我可以使用元组作为映射中的键吗?
我想这样做Blockchain 我可以使用元组作为映射中的键吗?,blockchain,ethereum,solidity,Blockchain,Ethereum,Solidity,我想这样做 struct A { uint x; string str; } mapping ((uint,bytes32,uint)=> structA); 可以将元组用作映射中的键吗?不能,只能将基本类型用作键,请参阅文档: 但是,您可以使用keccak256散列函数将元组转换为bytes32类型,并安全地将该值用作键,如下所示: keccak256(abi.encodePacked(a,b,c)) 其中a、b、c将是元组的值
struct A
{
uint x;
string str;
}
mapping ((uint,bytes32,uint)=> structA);
可以将元组用作映射中的键吗?不能,只能将基本类型用作键,请参阅文档: 但是,您可以使用
keccak256
散列函数将元组转换为bytes32
类型,并安全地将该值用作键,如下所示:
keccak256(abi.encodePacked(a,b,c))
其中a、b、c
将是元组的值