使用变量访问结构中的键
Use a variable to access key in struct
我有一个这样的结构:
struct test {
string a;
string b;
}
和这样的映射:
mapping (address => test) public tests;
我想要一个像这样更新结构的函数:
function updateStruct (string _paramName, string _newValue) {
tests[msg.sender].(_paramName) = _newValue; // this is the line that shows the logic but doesn't work in compilation
}
我该怎么做?
Solidity 目前 (v0.8) 不支持通过魔术变量访问属性。
您需要直接访问属性。
function updateStructA(string memory _newValue) public {
tests[msg.sender].a = _newValue;
}
function updateStructB(string memory _newValue) public {
tests[msg.sender].b = _newValue;
}
我有一个这样的结构:
struct test {
string a;
string b;
}
和这样的映射:
mapping (address => test) public tests;
我想要一个像这样更新结构的函数:
function updateStruct (string _paramName, string _newValue) {
tests[msg.sender].(_paramName) = _newValue; // this is the line that shows the logic but doesn't work in compilation
}
我该怎么做?
Solidity 目前 (v0.8) 不支持通过魔术变量访问属性。
您需要直接访问属性。
function updateStructA(string memory _newValue) public {
tests[msg.sender].a = _newValue;
}
function updateStructB(string memory _newValue) public {
tests[msg.sender].b = _newValue;
}