Gox语言例3:图形化界面选择文件或目录

本例是使用Gox语言的跨平台图形界面(GUI)编程能力,来使用弹出的对话框供用户选择一个文件。

// 使用涉及图形界面的程序,都要先调用initGUI函数来初始化
initGUI()

// selectFileGUI函数会弹出对话框以供选择文件
// 参数类似命令行的开关参数,均为可选且无顺序之分
// 参数title为对话框提示文字
// filterName为文件类型的提示文字
// filter为文件类型匹配模式
// start为起始目录(文件夹)
rs = selectFileGUI("-title=请选择文件……", "-filterName=所有文件", "-filter=*", "-start=.")

// 如果发生错误则提示后退出
if isErrStr(rs) {
    pl("发生错误:%v", getErrStr(rs))
    exit()
}

// getFileSize函数用于获取文件大小
pl("您选择的文件是%v,大小为%v个字节", rs, getFileSize(rs))




执行结果类似下面的截图(Windows系统下):

image.png

或者在Linux系统下:

image.png

代码中有详细的解释,可以看出,Gox语言内置了很多使用的函数,很容易实现一些常用的功能。

另外,如果要选择目录,使用内置的selectDirectoryGUI即可,例如:dirName = selectDirectoryGUI("-title=请选择目录……", "-start=."),参数均为可选,start是默认起始目录。


注意:

  • Gox语言是脱胎于Go语言(Golang)的开源脚本语言,解释执行,但相比Go语言更贴近高级语言,语法硬性限制也少一些;是一门偏向快速应用的语言,也可以说是一个集成工具;

  • Gox语言主要优势有三点:

    • 第一,Gox语言本身只有一个可执行文件,绿色免配置,下载即可使用,无需安装Go语言环境,无需编译,非常适合快速制作原型以及云服务器上的远程开发;
    • 第二,Gox中可以直接使用绝大多数Go语言标准库中的对象和方法函数,也内置了很多常用、优秀的第三方库,充分发挥Go语言多年积累的资源优势;
    • 第三,与很多其他主流语言不同,Gox语言着力解决了GUI图形界面编程的问题,内置了基于Sciter和WebView的图形界面编程库,直接可以进行快捷高效的跨平台图形界面开发(Sciter只需下载一个动态链接库文件,WebView也仅在Windows系统下需要两个DLL文件,执行和分发时附带上即可,放置在系统路径中或者与Gox主程序相同目录下即可),特别适合编写演示原型系统,也经历了一些中小型系统的检验,尤其是作为轻量级的微服务后台。

作为脚本语言,Gox语言性能肯定不如Go语言这样的编译型语言快,但在大多数使用场景下性能也足够用。并且,由于Gox语言与Go语言的紧密联系,Gox语言编写的脚本可以很容易的改写成Go语言代码,编译执行后就可以发挥Go语言的速度优势了。因此,Gox语言也比较适合做初期的Go语言调试。

Gox的官网在这里,也可以在浏览器搜索引擎中直接搜索“gox语言”,Github页面在这里,在这里可以看到很多Gox语言的学习指南和实际应用实例。

如果人生是一场旅行,我愿沿途播撒花朵。

推荐阅读更多精彩内容