Files
SiMengWebSite_Notes/docs/notes/programming/solidity/basic-syntax.md
2025-10-10 10:54:35 +08:00

2.8 KiB
Raw Blame History

title, createTime, permalink
title createTime permalink
Solidity 基础语法与数据类型 2025/09/22 10:30:00 /programming/solidity/basic-syntax/

Solidity 基础语法与数据类型~(≧∇≦)ノ

Solidity 文件基础框架

Solidity 文件的基础框架通常包含以下几个部分:

  1. SPDX 许可证标识符 (SPDX License Identifier):为了避免法律问题和明确智能合约的开源许可证,建议在合约的开头添加 SPDX 许可证标识符。
  2. Solidity 版本声明 (Pragma):这会告诉编译器您希望使用哪个版本的 Solidity 来编译您的代码。
  3. ABI编码编译指示:通过pragma abicoder v1pragma abicoder v2来指定ABI编码版本。
  4. 合约定义 (Contract Definition):这是您编写智能合约代码的主体部分。

下面是一个基础的 Solidity 文件框架示例,您可以直接使用:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
pragma experimental ABIEncoderV2;

contract MyContract {
    // 在这里编写您的合约代码
}

Solidity 基础数据类型

  • 布尔类型bool值为 truefalse
    • 运算符:!(逻辑非)、&&(逻辑与)、||(逻辑或)、==(等于)、!=(不等于)
  • 整形int/uint
    • 有符号整数int可以表示负数和零。
    • 无符号整数uint只能表示非负数。
    • 整数类型可以是8位、16位、32位、64位或256位。只要是八的倍数都可以
    • 例如:int8uint256等。
    • 运算符:
      • 比较运算符:<=,<,>=,>
      • 位运算符:&(按位与)、|(按位或)、^(按位异或)、~(按位取反)
      • 移位运算符:<<(左移)、>>(右移)
      • 算数运算符:+(加法)、-(减法)、*(乘法)、/(除法)、%(取余)
      • 对于一个整数类型X,可以使用type(X).mintype(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 支持两种类型的注释:

  1. 行注释:使用//来注释单行代码。
  2. 块注释:使用/**/来注释多行代码。

例如:

// 这是一个行注释

/*
这是一个
块注释
*/