# Oraset3 编程语言规范 ## 1. 概述 Oraset3 是一种现代化的通用编程语言,结合了 Go 的简洁性和 C++ 的性能。 ### 1.1 设计目标 - 简洁的语法,易于学习 - 高性能的编译型语言 - 跨平台支持(Windows/Linux) - 内存安全 ## 2. 词法结构 ### 2.1 关键字 ``` var, let, const, func, struct, interface, if, else, for, while, return, break, continue, import, export, true, false, nil ``` ### 2.2 标识符 字母开头,可包含字母、数字、下划线 ### 2.3 字面量 - 整数: `42`, `-100`, `0x1A` - 浮点数: `3.14`, `-0.5`, `1e10` - 字符串: `"hello"`, `'world'` - 布尔值: `true`, `false` - 空值: `nil` ### 2.4 运算符 - 算术: `+`, `-`, `*`, `/`, `%` - 比较: `==`, `!=`, `<`, `>`, `<=`, `>=` - 逻辑: `&&`, `||`, `!` - 赋值: `=`, `:=`, `+=`, `-=`, `*=`, `/=` ## 3. 语法结构 ### 3.1 变量声明(简化语法) **推荐写法 - 使用类型推断:** ```oraset x := 42 // 自动推断为 int name := "Alice" // 自动推断为 string flag := true // 自动推断为 bool pi := 3.14 // 自动推断为 float ``` **传统写法:** ```oraset var x int = 42 let name string = "Alice" const PI float = 3.14 ``` ### 3.2 函数定义 **简洁写法 - 省略返回类型(void):** ```oraset func greet(name string) { println("Hello, " + name) } ``` **带返回值:** ```oraset func add(a int, b int) int { return a + b } ``` **无参数:** ```oraset func main() { println("Hello, Oraset3!") } ``` ### 3.3 条件语句 ```oraset if x > 0 { println("Positive") } else if x < 0 { println("Negative") } else { println("Zero") } ``` ### 3.4 循环 ```oraset // while 循环 while i < 10 { println(i) i := i + 1 } // for 循环 for i := 0; i < 10; i := i + 1 { println(i) } ``` ### 3.5 结构体 ```oraset struct Point { x int y int } ``` ### 3.6 接口 ```oraset interface Shape { area() float } ``` ## 4. 内置函数 Oraset3 提供以下内置函数,无需声明即可使用: | 函数 | 说明 | |------|------| | `print(value)` | 输出值到控制台(不换行) | | `println(value)` | 输出值到控制台(换行) | **支持的类型:** - `int` - 整数 - `float` - 浮点数 - `string` - 字符串 - `bool` - 布尔值 **示例:** ```oraset func main() { println(42) // 输出整数 println(3.14) // 输出浮点数 println("Hello, World!") // 输出字符串 println(true) // 输出布尔值 print("Hello") // 不换行输出 println(" World!") // 换行输出 } ``` ## 5. 类型系统 ### 5.1 基本类型 - `int` - 整数(64位) - `float` - 浮点数(64位) - `bool` - 布尔值 - `string` - 字符串 - `nil` - 空值 ### 5.2 复合类型 - 数组: `[5]int` - 切片: `[]int` - 字典: `map[string]int` - 函数: `func(int) int` ## 6. 内存管理 Oraset3 使用自动垃圾回收机制,无需手动管理内存。 ## 7. 模块系统 ```oraset import "math" export func main() { // 入口函数 } ``` ## 8. 代码风格建议 ### 8.1 分号 分号在 Oraset3 中是可选的,推荐省略分号以保持代码简洁: **推荐:** ```oraset x := 42 println(x) ``` **也支持:** ```oraset x := 42; println(x); ``` ### 8.2 缩进 使用 4 个空格进行缩进。 ### 8.3 命名规范 - 变量和函数名使用蛇形命名: `my_variable`, `my_function` - 类型名使用 Pascal 命名: `MyStruct`, `MyInterface`