快速开始
欢迎来到 Fleet 编程语言!本指南将带你编写第一个 Fleet 程序,并介绍基本的开发流程。
🎯 学习目标
完成本指南后,你将能够: - 编写并运行第一个 Fleet 程序 - 理解 Fleet 的基本语法 - 使用 Fleet 编译器 - 掌握基本的开发工具
📝 第一个程序:Hello World
创建项目目录
mkdir my-first-fleet-project
cd my-first-fleet-project
编写 Hello World
创建文件 hello.fleet:
fn main() {
print("Hello, Fleet!");
}
编译并运行
# 编译程序
fleet hello.fleet
# 运行程序
./hello
输出:
Hello, Fleet!
🎉 恭喜!你已经成功运行了第一个 Fleet 程序!
🔤 基础语法示例
变量和数据类型
fn main() {
// 不可变变量
let name = "Fleet";
let version = 1;
let is_awesome = true;
// 可变变量
var counter = 0;
counter = counter + 1;
// 类型注解
let pi: f64 = 3.14159;
let count: int = 42;
print("Language: " + name);
print("Version: " + version);
print("Counter: " + counter);
}
函数定义
// 无返回值函数
fn greet(name: str) {
print("Hello, " + name + "!");
}
// 有返回值函数
fn add(a: int, b: int) -> int {
return a + b;
}
fn main() {
greet("World");
let result = add(5, 3);
print("5 + 3 = " + result);
}
控制流
fn main() {
let number = 42;
// if-else 语句
if number > 0 {
print("Positive number");
} else if number < 0 {
print("Negative number");
} else {
print("Zero");
}
// loop 循环
var i = 0;
loop i in 0..5 {
print("Count: " + i);
}
}
🏗️ 数据结构
结构体
struct Point {
x: int,
y: int,
}
fn main() {
let p = Point { x: 10, y: 20 };
print("Point: (" + p.x + ", " + p.y + ")");
}
枚举
enum Color {
Red,
Green,
Blue,
RGB(int, int, int),
}
fn main() {
let red = Color::Red;
let custom = Color::RGB(255, 128, 0);
match red {
Color::Red => print("It's red!"),
Color::Green => print("It's green!"),
Color::Blue => print("It's blue!"),
Color::RGB(r, g, b) => print("Custom color: " + r + ", " + g + ", " + b),
}
}
🎯 Trait 系统
trait Display {
fn show(self) -> str;
}
struct Person {
name: str,
age: int,
}
impl Display for Person {
fn show(self) -> str {
return self.name + " (" + self.age + " years old)";
}
}
fn main() {
let person = Person { name: "Alice", age: 30 };
print(person.show());
}
🗂️ 集合类型
数组
fn main() {
let numbers = [1, 2, 3, 4, 5];
print("First number: " + numbers[0]);
print("Array length: " + numbers.len());
}
映射 (Map)
fn main() {
let scores = map{
"Alice": 95,
"Bob": 87,
"Charlie": 92,
};
print("Alice's score: " + scores["Alice"]);
// 迭代映射
loop (name, score) in scores {
print(name + ": " + score);
}
}
🛠️ 开发工具使用
编译器选项
# 基本编译
fleet program.fleet
# 指定输出文件名
fleet program.fleet -o my_program
# 优化编译
fleet program.fleet --optimize
# 显示详细信息
fleet program.fleet --verbose
# 只检查语法不生成代码
fleet program.fleet --check
项目结构建议
my-fleet-project/
├── src/
│ ├── main.fleet # 主程序
│ ├── lib.fleet # 库文件
│ └── utils.fleet # 工具函数
├── examples/
│ └── demo.fleet # 示例程序
├── tests/
│ └── test_main.fleet # 测试文件
└── README.md # 项目说明
🧪 测试你的程序
创建一个简单的计算器程序:
fn add(a: int, b: int) -> int {
return a + b;
}
fn subtract(a: int, b: int) -> int {
return a - b;
}
fn multiply(a: int, b: int) -> int {
return a * b;
}
fn divide(a: int, b: int) -> int {
if b == 0 {
print("Error: Division by zero!");
return 0;
}
return a / b;
}
fn main() {
let x = 10;
let y = 3;
print("Calculator Demo:");
print(x + " + " + y + " = " + add(x, y));
print(x + " - " + y + " = " + subtract(x, y));
print(x + " * " + y + " = " + multiply(x, y));
print(x + " / " + y + " = " + divide(x, y));
}
保存为 calculator.fleet,编译并运行:
fleet calculator.fleet
./calculator
🎓 最佳实践
代码风格
- 命名约定
- 函数和变量:
snake_case - 结构体和枚举:
PascalCase -
常量:
UPPER_CASE -
代码组织
- 每个文件一个主要概念
- 相关函数放在一起
-
使用有意义的注释
-
错误处理
- 使用
Option和Result类型 - 避免 panic,优雅处理错误
- 提供有用的错误信息
性能提示
- 避免不必要的内存分配
- 使用适当的数据结构
- 利用编译器优化
🔍 调试技巧
打印调试
fn debug_function(value: int) {
print("Debug: value = " + value);
// 你的代码逻辑
}
条件编译
fn main() {
#[cfg(debug)]
print("Debug mode enabled");
// 程序逻辑
}
📚 进一步学习
现在你已经掌握了基础知识,建议继续学习:
🤝 获取帮助
遇到问题?这些资源可以帮助你:
- *FAQ* - 常见问题解答
- GitHub Issues - 报告 bug
- 讨论区 - 社区讨论
- 示例库 - 更多代码示例
🎉 恭喜!
你已经完成了 Fleet 语言的快速入门!现在你可以:
- ✅ 编写基本的 Fleet 程序
- ✅ 使用编译器工具
- ✅ 理解基本语法概念
- ✅ 开始构建自己的项目
继续探索 Fleet 的强大功能,开始你的编程之旅吧!🚀