Hello World - Fleet 语言第一个程序

这是 Fleet 语言的第一个程序示例,展示了最基本的语法和程序结构。

📝 代码示例

基础 Hello World

fn main() {
    print("Hello, Fleet!");
}

输出

Hello, Fleet!

带变量的版本

fn main() {
    let greeting = "Hello";
    let name = "Fleet";
    print(greeting + ", " + name + "!");
}

输出

Hello, Fleet!

使用函数的版本

fn greet(name: str) {
    print("Hello, " + name + "!");
}

fn main() {
    greet("Fleet");
    greet("World");
}

输出

Hello, Fleet!
Hello, World!

🔍 代码解析

程序结构

  1. 主函数 - fn main() 是程序的入口点
  2. 函数体 - 用大括号 {} 包围
  3. 语句 - 每个语句以分号 ; 结尾

关键概念

函数定义

fn function_name(parameters) -> return_type {
    // 函数体
}
  • fn - 函数定义关键字
  • function_name - 函数名称
  • parameters - 参数列表(可选)
  • return_type - 返回类型(可选)

变量声明

let variable_name = value;
let variable_name: type = value;
  • let - 不可变变量声明
  • var - 可变变量声明(如果需要修改)

字符串操作

let text1 = "Hello";
let text2 = "World";
let combined = text1 + ", " + text2 + "!";

Fleet 支持字符串拼接操作。

🚀 运行程序

编译和运行

# 编译 Fleet 程序
./target/release/fleet hello.fleet

# 运行生成的可执行文件
./hello

一步运行

# 编译并运行
./target/release/fleet hello.fleet && ./hello

🎯 练习

练习 1:个性化问候

修改程序,让它问候你的名字:

fn main() {
    let my_name = "你的名字";
    print("Hello, " + my_name + "!");
}

练习 2:多语言问候

创建一个支持多语言问候的程序:

fn greet_english(name: str) {
    print("Hello, " + name + "!");
}

fn greet_chinese(name: str) {
    print("你好," + name + "!");
}

fn greet_spanish(name: str) {
    print("¡Hola, " + name + "!");
}

fn main() {
    let name = "Fleet";
    greet_english(name);
    greet_chinese(name);
    greet_spanish(name);
}

练习 3:带返回值的函数

创建一个返回问候字符串的函数:

fn create_greeting(name: str) -> str {
    return "Hello, " + name + "!";
}

fn main() {
    let greeting = create_greeting("Fleet");
    print(greeting);

    // 或者直接使用
    print(create_greeting("World"));
}

💡 扩展学习

下一步学习内容

  1. 变量和类型 - 学习 Fleet 的类型系统
  2. 函数定义 - 深入了解函数
  3. 控制流 - 条件语句和循环

相关概念

  • 编译型语言 - Fleet 是编译型语言,需要先编译后运行
  • 静态类型 - Fleet 是静态类型语言,类型在编译时确定
  • 内存安全 - Fleet 保证内存安全,防止常见的内存错误

⚠️ 常见错误

忘记主函数

// 错误:没有 main 函数
print("Hello, World!");

错误信息:程序必须包含 main 函数作为入口点。

语法错误

fn main() {
    print("Hello, World!")  // 错误:缺少分号
}

错误信息:语句必须以分号结尾。

类型错误

fn main() {
    let number = 42;
    print("Number: " + number);  // 错误:类型不匹配
}

解决方案:使用类型转换

fn main() {
    let number = 42;
    print("Number: " + number.to_string());
}

🎉 恭喜!

你已经成功运行了第一个 Fleet 程序!这是学习 Fleet 编程语言的第一步。

接下来: - 尝试修改程序,输出不同的内容 - 实验不同的字符串操作 - 创建更多的函数

继续学习 变量和类型 来深入了解 Fleet 语言的基础概念。