18、Solidity 汇编编程与可升级智能合约全解析

Solidity 汇编编程与可升级智能合约全解析

1. Solidity 汇编编程基础

在 Solidity 中,汇编块支持 // /* */ 两种注释方式。 // 用于单行注释, /* */ 用于多行注释。

2. 作用域和块

汇编块可以嵌套,每个块都定义了一个局部作用域。在作用域内声明的变量,一旦执行离开该块就会被释放。
- 变量可见性 :嵌套块内声明的变量在块外不可见,且父作用域中声明的变量不能在内部作用域重新定义。

// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
contract AssemblyScopes {
    function getValues() public pure returns (uint256 retval) {
        assembly {
            let outerValue := 10
            {
                let innerValue := 20
                {
                    innerValue := 30
                }
            }
            {
                // Variable name already
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值