🚀 Fleet 语言学习路径
欢迎来到 Fleet 编程语言!本文档为你提供了一个清晰的渐进式学习路径,从零基础到精通 Fleet。
📋 学习路径总览
🌱 第一步:准备工作
↓
🏃 第二步:快速体验
↓
📚 第三步:基础语法
↓
🔧 第四步:核心概念
↓
🏗️ 第五步:高级特性
↓
⚡ 第六步:实战项目
↓
🎯 第七步:深入理解
🌱 第一步:准备工作 (5-10 分钟)
目标:让 Fleet 在你的电脑上运行起来
必读文档
完成标志
- ✅ 能够运行
fleet --version - ✅ 成功编译并运行 Hello World 程序
🏃 第二步:快速体验 (15-20 分钟)
目标:写出你的第一个 Fleet 程序,感受语言特色
必读文档
- 快速开始 - 第一个程序和基本操作
实践练习
// 练习 1:Hello World
fn main() {
print("Hello, Fleet!");
}
// 练习 2:简单计算
fn main() {
let a = 10;
let b = 20;
print("Sum: " + (a + b));
}
// 练习 3:基本函数
fn add(x: int, y: int) -> int {
return x + y;
}
fn main() {
let result = add(5, 3);
print("Result: " + result);
}
完成标志
- ✅ 理解 Fleet 程序的基本结构
- ✅ 能够定义和调用简单函数
- ✅ 掌握基本的编译和运行流程
📚 第三步:基础语法 (1-2 小时)
目标:掌握 Fleet 的核心语法元素
学习顺序
3.1 变量和数据类型 (20 分钟)
练习:
fn main() {
// 不可变变量
let name = "Fleet";
let age = 1;
// 可变变量
var counter = 0;
counter = counter + 1;
// 类型注解
let pi: f64 = 3.14159;
print("Language: " + name);
print("Age: " + age);
print("Counter: " + counter);
}
3.2 控制流 (30 分钟)
- 函数和控制流 - 条件语句和循环结构
练习:
fn main() {
// if-else
let number = 42;
if number > 0 {
print("Positive");
} else {
print("Not positive");
}
// loop 循环
loop i in 0..5 {
print("Count: " + i);
}
}
3.3 函数定义 (30 分钟)
- 函数和控制流 - 函数基础
练习:
// 无返回值函数
fn greet(name: str) {
print("Hello, " + name + "!");
}
// 有返回值函数
fn multiply(a: int, b: int) -> int {
return a * b;
}
fn main() {
greet("World");
let result = multiply(6, 7);
print("6 × 7 = " + result);
}
完成标志
- ✅ 能够定义和使用变量
- ✅ 掌握 if-else 和 loop 语句
- ✅ 能够编写带参数和返回值的函数
🔧 第四步:核心概念 (2-3 小时)
目标:理解 Fleet 的核心数据结构和概念
学习顺序
4.1 结构体 (45 分钟)
练习:
struct Point {
x: int,
y: int,
}
fn distance(p1: Point, p2: Point) -> f64 {
let dx = p2.x - p1.x;
let dy = p2.y - p1.y;
return sqrt((dx * dx + dy * dy) as f64);
}
fn main() {
let p1 = Point { x: 0, y: 0 };
let p2 = Point { x: 3, y: 4 };
let dist = distance(p1, p2);
print("Distance: " + dist);
}
4.2 枚举和模式匹配 (45 分钟)
练习:
enum Color {
Red,
Green,
Blue,
RGB(int, int, int),
}
fn describe_color(color: Color) -> str {
match color {
Color::Red => return "Red color",
Color::Green => return "Green color",
Color::Blue => return "Blue color",
Color::RGB(r, g, b) => return "RGB(" + r + ", " + g + ", " + b + ")",
}
}
fn main() {
let red = Color::Red;
let custom = Color::RGB(255, 128, 0);
print(describe_color(red));
print(describe_color(custom));
}
4.3 集合类型 (45 分钟)
- 集合类型 - 数组和映射
练习:
fn main() {
// 数组
let numbers = [1, 2, 3, 4, 5];
loop num in numbers {
print("Number: " + num);
}
// 映射
let scores = map{
"Alice": 95,
"Bob": 87,
};
print("Alice's score: " + scores["Alice"]);
}
完成标志
- ✅ 能够定义和使用结构体
- ✅ 理解枚举和模式匹配
- ✅ 掌握数组和映射的基本操作
🏗️ 第五步:高级特性 (3-4 小时)
目标:掌握 Fleet 的高级编程特性
学习顺序
5.1 Trait 系统 (90 分钟)
练习:
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());
}
5.2 错误处理 (90 分钟)
练习:
enum Option {
Some(int),
None,
}
fn safe_divide(a: int, b: int) -> Option {
if b == 0 {
return Option::None;
} else {
return Option::Some(a / b);
}
}
fn main() {
match safe_divide(10, 2) {
Option::Some(result) => print("Result: " + result),
Option::None => print("Cannot divide by zero"),
}
}
完成标志
- ✅ 能够定义和实现 trait
- ✅ 理解 Option 类型和错误处理
- ✅ 掌握高级模式匹配技巧
⚡ 第六步:实战项目 (4-6 小时)
目标:通过实际项目巩固所学知识
项目建议
项目 1:计算器 (2 小时)
// 实现一个支持四则运算的计算器
enum Operation {
Add,
Subtract,
Multiply,
Divide,
}
struct Calculator {
result: f64,
}
impl Calculator {
fn new() -> Calculator {
return Calculator { result: 0.0 };
}
fn calculate(self, a: f64, op: Operation, b: f64) -> f64 {
match op {
Operation::Add => return a + b,
Operation::Subtract => return a - b,
Operation::Multiply => return a * b,
Operation::Divide => {
if b != 0.0 {
return a / b;
} else {
print("Error: Division by zero");
return 0.0;
}
},
}
}
}
项目 2:学生成绩管理 (3 小时)
// 实现一个学生成绩管理系统
struct Student {
name: str,
id: int,
scores: map,
}
trait GradeCalculator {
fn average_score(self) -> f64;
fn get_grade(self) -> str;
}
impl GradeCalculator for Student {
fn average_score(self) -> f64 {
// 计算平均分
}
fn get_grade(self) -> str {
// 根据平均分返回等级
}
}
完成标志
- ✅ 能够独立设计和实现完整的 Fleet 程序
- ✅ 熟练运用结构体、枚举、trait 等特性
- ✅ 具备解决实际问题的能力
🎯 第七步:深入理解 (可选)
目标:深入理解 Fleet 的设计理念和实现细节
高级主题
7.1 语言设计理念
7.2 编译器内部
7.3 高级示例
- 异步编程 (概念性)
完成标志
- ✅ 理解 Fleet 的设计哲学
- ✅ 了解编译器的工作原理
- ✅ 能够为 Fleet 语言做出贡献
📚 学习资源索引
按难度分类
🌱 初学者必读
🔧 进阶学习
🏗️ 高级主题
按主题分类
语法和类型
编程概念
面向对象
实践应用
🎯 学习建议
时间安排
- 快速入门:1-2 天 (第1-3步)
- 核心掌握:1 周 (第4-5步)
- 实战练习:1-2 周 (第6步)
- 深入理解:持续学习 (第7步)
学习方法
- 循序渐进 - 严格按照学习路径顺序
- 动手实践 - 每个概念都要写代码验证
- 项目驱动 - 通过实际项目巩固知识
- 查阅文档 - 遇到问题及时查阅相关文档
常见问题
- 语法错误 - 参考 语法兼容性说明
- 概念理解 - 多看示例代码,动手实践
- 项目实战 - 从简单项目开始,逐步增加复杂度
🚀 开始你的 Fleet 之旅!
选择适合你当前水平的起点,开始学习 Fleet 编程语言吧!
- 🌱 完全新手:从第一步开始
- 🔧 有编程经验:可以从第二步或第三步开始
- 🏗️ 想了解高级特性:直接跳到第五步
- 🎯 想深入理解:查看第七步的高级主题
记住:学习编程语言最好的方法就是多写代码!🎯