Solidity 练习:局部变量
睡不醒的鲤鱼 2022-12-29 Web3 Solidity
# 一、题目说明
与状态变量不同,局部变量不存储在区块链上。
如何声明局部变量?
局部变量在函数内部声明。
函数完成执行后,分配给局部变量的任何数据都将丢失。下面是一个例子:
contract MyContract {
function func() external {
uint localVar = 123;
// localVar 不会存储在区块链上
}
}
1
2
3
4
5
6
2
3
4
5
6
# 二、任务列表
- 编写一个名为 mul 的函数,将其声明为 external 和 pure,返回 uint。
- 在函数中声明一个局部变量,类型为 uint 的 x,值为 123456。
- 返回 x 乘以自身,即 x * x。
# 三、解答代码
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;
contract LocalVariables {
function localVars() external {
uint u = 123;
bool b = true;
}
function mul() external pure returns (uint) {
uint x = 123456;
return x * x;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14