接触go语言有一两年时间了。
之前用Qt和C#写过桌面程序,C#会被别人扒皮,极度不爽;Qt默认要带一堆dll,或者静态编译要自己弄或者找库,有的库还缺这缺那,很难编译成功。

如果C# winform可以编译成二进制原生exe的话,给人感觉是开发效率最好的。
C#有nuget可以用别人的库,Qt就比较麻烦,除了它现有的,用其他的库好麻烦。

此外,Qt还存在内存泄漏风险,不好控制。

go语言有在线库,可以拉取自己需要的各种包,跟python一样,实在是好方便,很好用。
就像有网友说的,为了那一个好用的函数,去拉下别人一个库,这就是拉库复用的魅力!

go语言有自己的垃圾回收机制,不太熟悉的话,也可以避免内存泄漏问题。但是,它没有自己的原生UI库,也没有UI拖放设计工具。
不过很多人给go写了第三方的UI库。
试过一些,goqt库也可以用,不过一样要带一堆dll,还有其他一些库,基本上都没有UI设计工具的。听说有个gtk带有glade设计器,但是要另外配置mingw等,也不好搞。

以前,也折腾过一阵govcl这个UI方案,他可以自由拖拉设计UI界面。
这个使用了第三方的UI设计器,但是需要安装和编译插件,还要编译和安装界面库,也是够折腾的,放弃了几次,搞了很久才跑起来。
govcl可以在1.18版本下,在IDE里面编译成功,但是升级到1.20后就不行了,不支持 -i参数,直接报错。这个问题可以通过重新编译res2go,去掉-i参数解决。不过,原作者一直没有更新这个问题,需要自行解决。

总结了那么多,个人感觉最好的方案还是这个govcl,它编译后,只带一个liblcl.dll,就可以随意拷贝到其他电脑运行,这个非常好。也可以把liblcl.dll当成资源,文档有教程怎么直接打包进exe里面,更方便。在win10下,默认没有安装其他杀毒软件时,试过没有报毒,可以正常使用。

我自己用习惯了Qt,感觉还是Qt的界面库,是我用过那么多桌面UI库中,最实用的了。不过Qt好像也没怎么更新go绑定了,很遗憾。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Logo

欢迎加入我们的广州开发者社区,与优秀的开发者共同成长!

更多推荐