Gox語言(官網)是以Go語言(Golang)為基礎的解釋型/腳本語言,它除了具有一般腳本語言所具有的編寫快捷、語言簡潔、易于理解等特點外,還支持其他語言所不具備的跨平臺原生圖形界面(GUI)開發(fā),并且代碼寫起來非常舒暢。Gox語言的文檔請參看這里。
Gox語言的主要特點包括:
- 跨平臺,目前支持Windows、Mac和Linux等主流平臺;
- 完全免費和開源;
- 代碼基于Go語言(Golang),但做了一些優(yōu)化,因此Go語言、C語言、C++、C#、Java及類似語言的開發(fā)者編寫起來幾乎沒有任何壓力,稍加了解就可以開始編寫代碼;
- 相較于Go語言嚴格的語法書寫要求和靜態(tài)數(shù)據(jù)類型限制,Gox語言實現(xiàn)了動態(tài)類型,并做了許多更接近主流高級語言的改進,去除了一些語法限制,使得代碼書寫上方便了很多;
- 基本支持所有Go語言主要的標準庫,并加以擴充,并且理論上可以支持任意多的第三方擴展庫,依托Go語言社區(qū)已有的海量代碼庫,Gox語言具備成為全棧語言的潛力;
- 提供大量內置高效的網絡服務、數(shù)據(jù)庫訪問等常用編程能力,可以直接提供完整的Web服務器、API服務器,免驅動訪問SQLite、MySQL、SQL Server等數(shù)據(jù)庫,也可以操作Oracle數(shù)據(jù)庫;
- 具備嵌套執(zhí)行腳本的能力,支持模塊化編程,支持比Go語言更方便的面向對象編程;
- 與一般的解釋性/腳本語言不同,Gox語言自帶代碼加密功能,支持對發(fā)布的代碼進行加密,以及對加密代碼的解密執(zhí)行功能,可以有效地保護開發(fā)人員的工作;
- 支持各操作系統(tǒng)下的編譯,可以單文件發(fā)布最終應用程序,同時起到代碼保護作用;
- 能夠與Go語言緊密互操作,天然繼承了很多Go語言的優(yōu)秀特性,例如Go語言特色的并發(fā)線程goroutine和chan等;
- 多腳本之間可以共享全局數(shù)據(jù);
- 支持跨平臺的原生圖形界面(GUI)的開發(fā),并且界面布局代碼書寫簡單易懂,使用通用的HTML/CSS/Script的形式制作界面;
- 綠色,無安裝文件或安裝包,無需安裝和任何環(huán)境配置過程,沒有任何依賴,只需下載一個可執(zhí)行文件,即可實現(xiàn)所有Gox代碼開發(fā)和程序執(zhí)行的任務(注:如果使用Sciter編寫界面也只需要附帶一個動態(tài)鏈接庫文件即可,Windows版的壓縮包中已經自帶);
- 經過實際項目檢驗,已經應用在很多中小型項目中,可用性與穩(wěn)定性經受了足夠的考驗;
- 一個主程序文件能夠同時支持命令行模式的開發(fā)和圖形界面(GUI)的開發(fā),并且還自帶交互式編程環(huán)境(REPL),甚至還內置了簡單的圖形化代碼編輯器;
Gox語言的安裝非常簡單,直接在官網下載主程序文件即可(對于常見的Windows系統(tǒng)一般來說,官網頁面下載第一個文件包),如下圖所示:

下載后解壓至任意文件夾,將得到一個可執(zhí)行程序gox.exe和一個用于GUI圖形界面編程的動態(tài)鏈接庫文件sciter.dll,建議將gox.exe所在的文件夾/目錄加入系統(tǒng)路徑,以便以后可以在命令行中直接訪問而無需加全路徑名。當然,也可以將gox.exe拷貝到已有的某個系統(tǒng)路徑中。
然后,啟動Windows的命令提示符程序,

鍵入gox加回車即可運行gox語言的交互式命令行界面。

此時可以輸入versionG獲取當前Gox語言主程序的版本。

也可以簡單進行一些數(shù)學計算等。

輸入exit()來退出gox語言主程序,這是一個Gox語言中的內置函數(shù)。

也可以按Ctrl-C組合鍵退出。
至此,Gox語言的安裝和檢驗就完成了。
注意,另外,Ubuntu系統(tǒng)運行Gox語言時需要事先安裝GTK3的環(huán)境,執(zhí)行下述命令即可安裝:
apt install libgtk-3-dev
注意:
Gox語言是脫胎于Go語言(Golang)的開源腳本語言,解釋執(zhí)行,但相比Go語言更貼近高級語言,語法硬性限制也少一些;是一門偏向快速應用的語言,也可以說是一個集成工具;
-
Gox語言主要優(yōu)勢有三點:
- 第一,Gox語言本身只有一個可執(zhí)行文件,綠色免配置,下載即可使用,無需安裝Go語言環(huán)境,無需編譯,非常適合快速制作原型以及云服務器上的遠程開發(fā);
- 第二,Gox中可以直接使用絕大多數(shù)Go語言標準庫中的對象和方法函數(shù),也內置了很多常用、優(yōu)秀的第三方庫,充分發(fā)揮Go語言多年積累的資源優(yōu)勢;
- 第三,與很多其他主流語言不同,Gox語言著力解決了GUI圖形界面編程的問題,內置了基于Sciter的圖形界面編程庫,直接可以進行快捷高效的跨平臺圖形界面開發(fā)(Sciter只需下載一個動態(tài)鏈接庫文件,執(zhí)行和分發(fā)時附帶上即可,放置在系統(tǒng)路徑中或者與Gox主程序相同目錄下即可),特別適合編寫演示原型系統(tǒng),也經歷了一些中小型系統(tǒng)的檢驗,尤其是作為輕量級的微服務后臺。
作為腳本語言,Gox語言性能肯定不如Go語言這樣的編譯型語言快,但在大多數(shù)使用場景下性能也足夠用。并且,由于Gox語言與Go語言的緊密聯(lián)系,Gox語言編寫的腳本可以很容易的改寫成Go語言代碼,編譯執(zhí)行后就可以發(fā)揮Go語言的速度優(yōu)勢了。因此,Gox語言也比較適合做初期的Go語言調試。
Gox的官網在這里,也可以在瀏覽器搜索引擎中直接搜索“gox語言”,Github頁面在這里,在這里可以看到很多Gox語言的學習指南和實際應用實例。
