mapping (address => uint) itemsPerCreator;
if (itemsPerCreator[_creator] == null){}混合给我一个错误: ParseError:预期的主表达式。
_creator是一个地址类型变量。在映射中,每个地址都有一个uint值。
发布于 2018-12-26 10:09:23
您会得到这个错误,因为没有任何东西比null或undefined更可靠。uint使用0初始化。
因此,要检查映射中对应的键的零值状态(默认值或有意更新的值),应该将其写为:
if (itemsPerCreator[_creator] == 0){}根据稳健性文档:
声明的变量将具有一个初始值,其字节表示形式为零。变量的“默认值”是任何类型的典型的“零状态”。例如,bool的默认值为false。uint或int类型的默认值为0。对于静态大小的数组和bytes1到bytes32,每个单独的元素都将被初始化为与其类型对应的默认值。最后,对于动态大小的数组、字节和字符串,默认值是空数组或字符串.
https://ethereum.stackexchange.com/questions/64606
复制相似问题