Solidity 基础语法与数据类型
约 600 字大约 2 分钟
2025-09-22
Solidity 文件基础框架
Solidity 文件的基础框架通常包含以下几个部分:
- SPDX 许可证标识符 (SPDX License Identifier):为了避免法律问题和明确智能合约的开源许可证,建议在合约的开头添加 SPDX 许可证标识符。
- Solidity 版本声明 (Pragma):这会告诉编译器您希望使用哪个版本的 Solidity 来编译您的代码。
- ABI编码编译指示:通过
pragma abicoder v1或pragma abicoder v2来指定ABI编码版本。 - 合约定义 (Contract Definition):这是您编写智能合约代码的主体部分。
下面是一个基础的 Solidity 文件框架示例,您可以直接使用:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
pragma experimental ABIEncoderV2;
contract MyContract {
// 在这里编写您的合约代码
}Solidity 基础数据类型
- 布尔类型(bool):值为
true和false- 运算符:
!(逻辑非)、&&(逻辑与)、||(逻辑或)、==(等于)、!=(不等于)
- 运算符:
- 整形(int/uint):
- 有符号整数(int):可以表示负数和零。
- 无符号整数(uint):只能表示非负数。
- 整数类型可以是8位、16位、32位、64位或256位。(只要是八的倍数都可以)
- 例如:
int8、uint256等。 - 运算符:
- 比较运算符:
<=,<,>=,> - 位运算符:
&(按位与)、|(按位或)、^(按位异或)、~(按位取反) - 移位运算符:
<<(左移)、>>(右移) - 算数运算符:
+(加法)、-(减法)、*(乘法)、/(除法)、%(取余) - 对于一个整数类型
X,可以使用type(X).min和type(X).max来获取其最小值和最大值。
- 比较运算符:
Solidity 基础语法结构
Solidity 基础操作
导入其他源文件
Solidity 支持导入其他源文件,使用import语句。例如:
import "filename.sol";这将导入filename.sol文件中的合约代码。
还可以创建一个新的全局符号
import * as NewName from "filename.sol"这将创建一个新的全局符号NewName,您可以在合约中使用它来引用filename.sol文件中的合约,例如NewName.ContractName。
还可以在导入的同时重命名符号:import {symbol1 as alias, symbol2} from "filename";
注释
Solidity 支持两种类型的注释:
- 行注释:使用
//来注释单行代码。 - 块注释:使用
/*和*/来注释多行代码。
例如:
// 这是一个行注释
/*
这是一个
块注释
*/