我们都听说go是一门非常简洁的语言,效率高,开发快,语法学会了之后用的非常爽,也容易看懂别人的开源代码(因为它么有很多花里胡哨的语法,比python开源库容易理解,python很多大佬的库,大部分人是压根看不懂源码的),就是社区资源远远没有python多,唯一的缺点就是官方没有搞GUI库。导致很多不是专门搞编程工作的人,没办法对它提起兴趣,因为很鸡肋,连个界面都没有谁会喜欢呢,有人说它不适合搞gui,所以官方不搞gui库,而我觉得想让golang真的火爆起来必须学习python的做法,很多不适合的领域人家也喜欢支持一下,比如GUI 游戏,后端,爬虫这些其实python也不太合适(或者说并不是最优解),但是人家依然把这种领域搞了出来甚至还被培训机构改炒作到让新手觉得python很适合搞界面,搞后端,搞游戏,搞任何方向,而实际上python仅仅适合大数据,自动化测试(实际上也不是最优解,大部分厂用的是java)以及 人工智能(试验调参阶段)真的上线大厂还是会选择将代码转为c++,才能效率高,它的作用明显就是用作于一种探索的工具来使用 人工智能的主要语言其实是c++。
而主角golang不一样,它拥有语法简单,机制明了的优势 并且效率还高的要死,编译后的程序也非常nice,文件也很小,唯一的缺点就是。。没界面了,python能做的它都能做,因为它和c和C++(轮子厂)的合作更加紧密无间,并且自己还能造轮子效率不比轮子厂低多少,而python是绝无可能造轮子的,它只能调用轮子,因为它压根没办法接触底层,效率也太低了。
所有很多领域并不是go不行,而是我们压根不知道或者市面上没有教程而已
今天我记录下我自己找了很久才搞成功的一个golang实现gui的列子。这个应该是目前go gui中最靠谱的了(我尝试过很多,因为我学习一门语言喜欢先研究GUI,有界面才有意思嘛)
这个库就是 webview(window平台仅支持win10往上之后的版本,因为需要Edge浏览器 我记得win10之前好像么有这个浏览器,如今大部分人应该都已经升级了win10了吧)它是利用自带的浏览器来进行GUI显示的,这样打包后就文件比较小仅为10MB附近,不会和qt一样,,一大堆的文件100MB以上,甚至还编译不通过
1.首先是下载库(这个库不是主库是一个分支,这个是人家大佬修复了很多BUG的):
2.下载webview2(这是一个驱动,安装了这个golang就可以调用自带浏览器来作为界面了,你可以这样理解)
3.去你的pkg文件中一步一步找到下方这些文件
4.运行go mod init 命令 生成go.mod (意思就是将你要调用那些库,库去哪里下载,库的路径是什么这些信息写入require中)
5.直接将下方代码拷贝进去,然后就可以运行了
6.运行界面效果如下:
7。绑定事件的下期再说,你可以先看看这个库的官方网站(学会绑定事件基本就可以畅通无阻了)
8.编译成exe 也仅需要一行命令行