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程序的基本结构
def和fn函数定义print输出函数- 格式化字符串
- 注释的写法
- 变量与常量
- 编译与运行流程
下一章,我们将学习Mojo的语法基础。
最后更新:2026-03-27