首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是“:=”操作符?

什么是“:=”操作符?
EN

Ethereum用户
提问于 2021-06-16 15:45:50
回答 1查看 1.1K关注 0票数 2

我熟悉海象运算符:= 在Python中,但无法理解它在实体中的用途。

一个示例片段是:

代码语言:javascript
复制
assembly { codehash := extcodehash(account) }
EN

回答 1

Ethereum用户

回答已采纳

发布于 2021-06-16 16:11:23

它是Yul中的变量赋值算子。来自文档

在使用:=运算符定义变量之后,可以将它们赋值给变量。可以同时分配多个变量。为此,值的数量和类型必须匹配。如果要分配具有多个返回参数的函数返回的值,则必须提供多个变量。同一变量可能不会多次发生在分配的左边,例如x, x := f()无效。

以下函数将返回4

代码语言:javascript
复制
function testFunction() public pure returns (uint result) {
    assembly {
        let v := 0            // value of v is 0 here
        v := 2                // value of v is 2 here
        result := add(v, 2)   // value of v is 4 here, so result = 4
    }
}

内嵌组件中,extcodehash获取address account的代码哈希,并将其值赋值给变量codehash

票数 3
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/102009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档