Hello World #

一、程序概述 #

按照编程语言学习的传统,让我们从Hello World程序开始,了解Mojo程序的基本结构。

二、创建源文件 #

2.1 创建项目目录 #

bash
mkdir -p ~/projects/hello_mojo
cd ~/projects/hello_mojo

2.2 创建源文件 #

创建 hello.mojo 文件:

mojo
def main():
    print("Hello, World!")

main()

三、程序解析 #

3.1 主函数 #

mojo
def main():
    print("Hello, World!")
  • def:定义函数的关键字
  • main:主函数名
  • ():参数列表(空)
  • ::函数体开始
  • 缩进:Python风格

3.2 打印语句 #

mojo
print("Hello, World!")
  • print:内置打印函数
  • "Hello, World!":字符串字面量

3.3 函数调用 #

mojo
main()

调用main函数执行程序。

四、运行程序 #

4.1 解释执行 #

bash
mojo run hello.mojo

输出:

text
Hello, World!

4.2 编译执行 #

bash
mojo build hello.mojo -o hello
./hello

4.3 交互式执行 #

bash
mojo repl

进入交互模式:

text
Mojo REPL 0.8.0
>>> print("Hello, World!")
Hello, World!
>>> 

五、def vs fn #

Mojo有两种函数定义方式:

5.1 def函数(动态) #

mojo
def greet(name):
    return "Hello, " + name

print(greet("Mojo"))

特点:

  • 类似Python
  • 动态类型
  • 运行时检查

5.2 fn函数(静态) #

mojo
fn greet(name: String) -> String:
    return "Hello, " + name

print(greet("Mojo"))

特点:

  • 静态类型
  • 编译时检查
  • 更高性能

5.3 对比 #

特性 def fn
类型检查 运行时 编译时
性能 较慢 更快
灵活性
错误检测 运行时 编译时

六、格式化输出 #

6.1 字符串拼接 #

mojo
def main():
    let name = "Mojo"
    let year = 2024
    
    print("Hello, " + name + "!")
    print("Year: " + str(year))

main()

6.2 f-string格式化 #

mojo
def main():
    let name = "Mojo"
    let year = 2024
    
    print(f"Hello, {name}!")
    print(f"Year: {year}")

main()

6.3 print参数 #

mojo
def main():
    print("Hello", "Mojo", sep=", ", end="!\n")

main()

输出:

text
Hello, Mojo!

七、注释 #

7.1 单行注释 #

mojo
def main():
    print("Hello, World!")
main()

7.2 文档字符串 #

mojo
def greet(name: String) -> String:
    """
    返回问候语。
    
    Args:
        name: 要问候的名字
        
    Returns:
        问候字符串
    """
    return "Hello, " + name + "!"

八、变量与常量 #

8.1 变量 (var) #

mojo
def main():
    var count = 0
    count = count + 1
    print(count)

main()

8.2 常量 (let) #

mojo
def main():
    let pi = 3.14159
    print(f"Pi = {pi}")

main()

九、基本数据类型 #

mojo
def main():
    let integer: Int = 42
    let float: Float64 = 3.14
    let boolean: Bool = True
    let string: String = "Mojo"
    
    print(f"Int: {integer}")
    print(f"Float: {float}")
    print(f"Bool: {boolean}")
    print(f"String: {string}")

main()

十、编译选项 #

10.1 常用编译选项 #

bash
mojo build hello.mojo -o hello
mojo build hello.mojo -O2
mojo build hello.mojo --debug

10.2 检查代码 #

bash
mojo check hello.mojo

十一、实践练习 #

练习1:个人信息 #

mojo
def main():
    let name = "张三"
    let age = 25
    let city = "北京"
    
    print(f"姓名: {name}")
    print(f"年龄: {age}")
    print(f"城市: {city}")
    print(f"{name} 今年 {age} 岁,住在 {city}")

main()

练习2:简单计算 #

mojo
def main():
    let a = 10
    let b = 3
    
    print(f"{a} + {b} = {a + b}")
    print(f"{a} - {b} = {a - b}")
    print(f"{a} * {b} = {a * b}")
    print(f"{a} / {b} = {a / b}")

main()

练习3:多行输出 #

mojo
def main():
    print("  /\\_/\\  ")
    print(" ( o.o ) ")
    print("  > ^ <  ")

main()

十二、总结 #

本章学习了:

  • Mojo程序的基本结构
  • deffn 函数定义
  • print 输出函数
  • 格式化字符串
  • 注释的写法
  • 变量与常量
  • 编译与运行流程

下一章,我们将学习Mojo的语法基础。

最后更新:2026-03-27