上QQ阅读APP看书,第一时间看更新
1.2 准备目录结构
如果读者跟着本书一起编写代码,那么在每一章的最后,都会提供一份完整的源代码,可以独立编译为可执行程序。除第1章之外,每一章的代码都以前一章代码为基础,逐渐添加功能,最终实现一个完整的Lua解释器。建议读者跟随本书的每一章,自己输入代码,循序渐进完成Lua解释器的开发。当然直接从GitHub上下载源代码,只编写自己感兴趣的部分也是完全可以的。
作为开始,我们需要创建一个根目录,然后在里面创建go和lua子目录。其中go目录里存放每一章的Go语言源代码,lua目录里存放每一章的Lua语言示例和测试代码。读者可以在任何位置创建根目录,在本书后面的内容里,我们将使用“$LUAGO”来表示这个目录,出现的路径也都是相对于该目录的相对路径。$LUAGO的目录结构如下所示。
$LUAGO/ go/ ch01/src/ ch02/src/ ... lua/ ch01/ ch02/ ...
万事开头难。作为一本介绍编程语言实现的书,按照惯例,当然也要从“Hello, World! ”程序开始。请读者打开命令行窗口,执行下面的命令。
$ cd $LUAGO/go/ $ mkdir -p ch01/src/luago $ export GOPATH=$PWD/ch01
上面的命令创建了本章的目录结构,并且设置好了GOPATH环境变量(关于GOPATH的介绍,请参考https://golang.google.cn/doc/code.html)。请读者在go/ch01/src/luago目录下面创建main.go文件,现在完整的目录结构如下所示。
$LUAGO/ go/ch01/src/luago/main.go lua/
打开main.go文件,在里面输入如下代码。
package main func main() { println("Hello, World! ") }
在命令行里执行下面的命令编译“Hello, World! ”程序。
$ go install luago
命令执行完毕,如果没有看到任何输出,那么就表示编译成功了。go/ch01/bin目录下会出现luago可执行文件,直接运行就可以看到“Hello, World! ”输出。
$ ./ch01/bin/luago Hello, World!