Mapping

如何使用空映射初始化新結構?

  • November 21, 2018

用於解釋。

mapping(uint => Test) tests;

struct Test {
   uint id;
   mapping(address => uint) votes;
}
function newTest() public {
   test[0] = Test(0, <EMPTY_MAPPING>)
}

你可以像這樣重寫你的程式碼:

tests[0] = Test({
 id: 0
});

Solidity 預設會創建votes一個空映射。順便說一句,您的程式碼中還有一個錯字:應該tests[0]代替test[0].

引用自:https://ethereum.stackexchange.com/questions/62784