官术网_书友最值得收藏!

1.2 準(zhǔn)備目錄結(jié)構(gòu)

如果讀者跟著本書一起編寫代碼,那么在每一章的最后,都會提供一份完整的源代碼,可以獨立編譯為可執(zhí)行程序。除第1章之外,每一章的代碼都以前一章代碼為基礎(chǔ),逐漸添加功能,最終實現(xiàn)一個完整的Lua解釋器。建議讀者跟隨本書的每一章,自己輸入代碼,循序漸進完成Lua解釋器的開發(fā)。當(dāng)然直接從GitHub上下載源代碼,只編寫自己感興趣的部分也是完全可以的。

作為開始,我們需要創(chuàng)建一個根目錄,然后在里面創(chuàng)建go和lua子目錄。其中g(shù)o目錄里存放每一章的Go語言源代碼,lua目錄里存放每一章的Lua語言示例和測試代碼。讀者可以在任何位置創(chuàng)建根目錄,在本書后面的內(nèi)容里,我們將使用“$LUAGO”來表示這個目錄,出現(xiàn)的路徑也都是相對于該目錄的相對路徑。$LUAGO的目錄結(jié)構(gòu)如下所示。

        $LUAGO/
            go/
                ch01/src/
                ch02/src/
                ...
            lua/
                ch01/
                ch02/
                ...

萬事開頭難。作為一本介紹編程語言實現(xiàn)的書,按照慣例,當(dāng)然也要從“Hello, World! ”程序開始。請讀者打開命令行窗口,執(zhí)行下面的命令。

        $ cd $LUAGO/go/
        $ mkdir -p ch01/src/luago
        $ export GOPATH=$PWD/ch01

上面的命令創(chuàng)建了本章的目錄結(jié)構(gòu),并且設(shè)置好了GOPATH環(huán)境變量(關(guān)于GOPATH的介紹,請參考https://golang.google.cn/doc/code.html)。請讀者在go/ch01/src/luago目錄下面創(chuàng)建main.go文件,現(xiàn)在完整的目錄結(jié)構(gòu)如下所示。

        $LUAGO/
            go/ch01/src/luago/main.go
            lua/

打開main.go文件,在里面輸入如下代碼。

        package main

        func main() {
            println("Hello, World! ")
        }

在命令行里執(zhí)行下面的命令編譯“Hello, World! ”程序。

        $ go install luago

命令執(zhí)行完畢,如果沒有看到任何輸出,那么就表示編譯成功了。go/ch01/bin目錄下會出現(xiàn)luago可執(zhí)行文件,直接運行就可以看到“Hello, World! ”輸出。

        $ ./ch01/bin/luago
        Hello, World!
主站蜘蛛池模板: 甘孜| 平远县| 吉林省| 晴隆县| 电白县| 瓦房店市| 日喀则市| 盘锦市| 隆子县| 平陆县| 泰兴市| 石狮市| 古蔺县| 镇赉县| 南宁市| 宜丰县| 福清市| 台中县| 龙山县| 建瓯市| 定安县| 泊头市| 南江县| 福州市| 微博| 广饶县| 高邑县| 武穴市| 兴国县| 雅安市| 谢通门县| 灵台县| 株洲县| 安溪县| 永宁县| 汤阴县| 蕲春县| 稻城县| 康马县| 辽源市| 北海市|