坚固性,在同一行中分配多个值"="



在哪里可以获得关于solidity中这个奇怪赋值的详细解释?

构造函数中的那个。多个====。

在官方文档中找不到任何内容。

contract Token {
mapping(address => uint) balances;
uint public totalSupply;
uint public anotherUint = 10;
constructor(uint _initialSupply, uint _anotherUint) {
balances[msg.sender] = totalSupply = anotherUint = _initialSupply = _anotherUint;
}
function transfer(address _to, uint _value) public returns (bool) {
require(balances[msg.sender] - _value >= 0);
balances[msg.sender] -= _value;
balances[_to] += _value;
return true;
}
function balanceOf(address _owner) public view returns (uint balance) {
return balances[_owner];
}
}

这是链式赋值的一个例子,在许多其他编程语言中都可以使用。

JS中的示例:

// copy paste this to your browser devtools console to explore how it works
let _initialSupply = 5;
let _anotherUint = 10;
let anotherUint;
let totalSupply;
const balance = totalSupply = anotherUint = _initialSupply = _anotherUint;

它指定:

_anotherUint_initialSupply
  1. 值(覆盖构造函数中传递的值(
  2. _initialSupplyanotherUint的(新(值
  3. anotherUinttotalSupply的值
  4. 最后是totalSupply的值到balances[msg.sender](或者在我的JS代码中到balance(

Solidity文档似乎没有涵盖这个主题,但它并不是仅对Solidity明确的。

相关内容

  • 没有找到相关文章

最新更新