137 lines
2.3 KiB
Markdown
137 lines
2.3 KiB
Markdown
# Vety语言基础语法
|
||
|
||
## 1. 变量声明
|
||
|
||
Vety语言使用`let`关键字声明变量,使用`const`关键字声明常量。
|
||
|
||
```vety
|
||
// 变量声明
|
||
let name: string = "Vety"
|
||
let age: i32 = 1
|
||
|
||
// 常量声明
|
||
const PI: f64 = 3.14159
|
||
```
|
||
|
||
## 2. 基本数据类型
|
||
|
||
### 2.1 整数类型
|
||
|
||
Vety提供了有符号和无符号整数类型:
|
||
|
||
- 有符号整数:
|
||
- `i8`: 8位有符号整数 (-128 到 127)
|
||
- `i16`: 16位有符号整数 (-32,768 到 32,767)
|
||
- `i32`: 32位有符号整数 (-2,147,483,648 到 2,147,483,647)
|
||
- `i64`: 64位有符号整数
|
||
|
||
- 无符号整数:
|
||
- `u8`: 8位无符号整数 (0 到 255)
|
||
- `u16`: 16位无符号整数 (0 到 65,535)
|
||
- `u32`: 32位无符号整数 (0 到 4,294,967,295)
|
||
- `u64`: 64位无符号整数
|
||
|
||
```vety
|
||
let age: i32 = 25
|
||
let distance: u64 = 1000000
|
||
```
|
||
|
||
### 2.2 浮点数类型
|
||
|
||
- `f32`: 32位浮点数
|
||
- `f64`: 64位浮点数
|
||
|
||
```vety
|
||
let pi: f32 = 3.14159
|
||
let e: f64 = 2.71828
|
||
```
|
||
|
||
### 2.3 布尔类型
|
||
|
||
`bool`类型表示布尔值,可以是`true`或`false`。
|
||
|
||
```vety
|
||
let is_valid: bool = true
|
||
let has_error: bool = false
|
||
```
|
||
|
||
### 2.4 字符串类型
|
||
|
||
`string`类型用于表示文本数据。字符串使用双引号(")包围。
|
||
|
||
```vety
|
||
let message: string = "Hello, Vety!"
|
||
let name: string = "John"
|
||
```
|
||
|
||
字符串支持转义字符:
|
||
- `\n`: 换行
|
||
- `\t`: 制表符
|
||
- `\r`: 回车
|
||
- `\"`: 双引号
|
||
- `\\`: 反斜杠
|
||
|
||
### 2.5 void类型
|
||
|
||
`void`类型表示没有返回值的函数的返回类型。
|
||
|
||
```vety
|
||
func print_message(): void {
|
||
// 函数体
|
||
}
|
||
```
|
||
|
||
## 3. 类型推断
|
||
|
||
Vety支持类型推断,当变量的类型可以从初始值推断出来时,可以省略类型注解:
|
||
|
||
```vety
|
||
let name = "Vety" // 推断为string类型
|
||
let age = 25 // 推断为i32类型
|
||
let is_valid = true // 推断为bool类型
|
||
```
|
||
|
||
## 4. 基本运算符
|
||
|
||
### 4.1 算术运算符
|
||
|
||
- `+`: 加法
|
||
- `-`: 减法
|
||
- `*`: 乘法
|
||
- `/`: 除法
|
||
- `%`: 取模
|
||
|
||
### 4.2 比较运算符
|
||
|
||
- `==`: 等于
|
||
- `!=`: 不等于
|
||
- `<`: 小于
|
||
- `>`: 大于
|
||
- `<=`: 小于等于
|
||
- `>=`: 大于等于
|
||
|
||
### 4.3 逻辑运算符
|
||
|
||
- `&&`: 逻辑与
|
||
- `||`: 逻辑或
|
||
- `!`: 逻辑非
|
||
|
||
### 4.4 位运算符
|
||
|
||
- `&`: 按位与
|
||
- `|`: 按位或
|
||
- `^`: 按位异或
|
||
- `~`: 按位取反
|
||
|
||
## 5. 注释
|
||
|
||
Vety支持两种注释方式:
|
||
|
||
```vety
|
||
// 单行注释
|
||
|
||
/*
|
||
多行注释
|
||
可以跨越多行
|
||
*/
|
||
``` |