Solidity函数中的花括号

3

我想知道在这种情况下花括号是什么意思?

uint64 configCount = s_configCount;
    {
      s_hotVars.latestConfigDigest = configDigestFromConfigData(
        address(this),
        configCount,
        _signers,
        _transmitters,
        _threshold,
        _encodedConfigVersion,
        _encoded
      );
      s_hotVars.latestEpochAndRound = 0;
    }```

他们为什么使用 {} ?他们为什么不像这样编写代码:
uint64 configCount = s_configCount;
s_hotVars.latestConfigDigest = configDigestFromConfigData(address(this),configCount,_signers,_transmitters,_threshold,_encodedConfigVersion,_encoded);
s_hotVars.latestEpochAndRound = 0;
1个回答

1
花括号用于作用域规则
它们还分配了一个新的堆栈帧。因为在EVM中,小堆栈对开发人员来说是个问题。当存在深层调用结构时,需要进行作用域限定以避免堆栈过深错误

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接