Hello, World!
现在你已经安装了 X 语言,让我们编写第一个程序!按照传统,我们将从 “Hello, World!” 开始。
创建项目目录
首先,让我们创建一个目录来存放 X 语言代码。X 语言不关心你的代码在哪里,但对于本书的练习,我们建议在你的主目录下创建一个 x-projects 目录:
mkdir ~/x-projects
cd ~/x-projects
编写并运行 X 程序
接下来,创建一个名为 hello.x 的文件:
touch hello.x
使用你喜欢的文本编辑器打开这个文件,并输入以下代码:
// Hello, World!
println("Hello, World!")
保存文件,然后在终端中运行以下命令:
x run hello.x
你应该会看到输出:
Hello, World!
恭喜!你已经成功编写并运行了你的第一个 X 程序!
分析这个程序
让我们逐行看看这个程序做了什么:
// Hello, World!
这是一行注释。X 语言使用 // 来表示单行注释。注释会被编译器忽略,它们是为了给人类读者看的。
println("Hello, World!")
这一行调用了内置函数 println,它将括号内的内容输出到标准输出并换行。这里我们传递了字符串字面量 "Hello, World!"。
注意,在 X 语言中,语句不需要分号结尾(虽然如果你写了分号也不会报错)。
main 函数(可选)
在上面的例子中,我们直接编写了代码,没有使用 main 函数。这是 X 语言的一个便利特性:main 函数不是必须的。你可以像 Swift 一样,直接在文件顶层编写代码。
不过,对于更复杂的程序,或者当你需要更好地控制程序入口时,你仍然可以使用 main 函数:
// Hello, World! - 使用 main 函数的版本
function main() {
println("Hello, World!")
}
这个版本与之前的版本功能完全相同。选择哪种方式取决于你的个人偏好和程序的复杂度。
编译与运行
当你运行 x run hello.x 时,X 工具链会:
- 解析
hello.x文件 - 检查语法和类型
- 通过解释器执行程序
如果你想查看程序编译后的中间表示,可以使用:
x compile hello.x --emit ast
这会输出程序的抽象语法树(AST)。
练习
- 尝试修改
hello.x程序,让它打印 “Hello, X!” 而不是 “Hello, World!”。 - 尝试添加另一个
print调用,让程序打印两行内容。 - 尝试创建两个版本的程序:一个使用
main函数,一个不使用,验证它们的行为是相同的。
下一步
现在你已经掌握了基础,让我们在下一节中编写一个更复杂的程序——一个猜数字游戏!