vety-language/doc/01_basic_syntax.md

137 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 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
// 单行注释
/*
多行注释
可以跨越多行
*/
```