大部分能想到用到的东西,除了手机app,剩下基本都可以做。

1、命令行程序。不分windows、linux、macos,扔进去就能用(当然,需要交叉编译,具体不展开,下同),读写数据库、小爬虫、定时任务等等等等,想怎么玩怎么玩。个人目前主要是用来同步数据,定时备份和清理垃圾。

2、图形化工具。还是全平台通用,官方虽然没有GUI库,但是第三方有的是。选个合适的库,c++能搞的,golang差不多都可以搞(GUI库的选择请参考https://www.zhihu.com/question/268536384/answer/1215107185)。个人目前是给一些命令行工具配界面用,用golang是因为实在喜欢协程的写法,再就是工作电脑和家庭电脑操作系统不一样,懒得分开写。

3、私人服务器。这回不光不挑平台了,还能直接扔在路由器或者旧手机上了(旧安卓手机废物利用请参考https://zhuanlan.zhihu.com/p/92664273)。golang天生支持arm,私人服务,无非就是个网盘、博客之类的,完全没必要买云空间(家庭网络穿透定位部分不展开)。

4、各种正牌服务。这个不多说,吃饭用的。反正用不了多少资源,5000qps的服务随便跑跑,完全没必要装什么jvm,python、php之类的运行环境,想跑就跑,想搬就搬。目前已经用caddy代替了nginx(证书自动展期方便),gin代替了tomcat(服务器内存太贵了)。剩下普通的API服务,自己写就完事了。目前最长的高吞吐量服务,已经跑了700多天还活蹦乱跳,上次停机还是停电的时候。

golang最大的特点,就是什么都能沾点边,而且学习起来曲线比较平滑(rust,说的就是你)。一个擅长其他编程语言的程序员,兼修golang,基本就是一两个星期的事儿。但是不建议没有编程经验的人直接上,容易被带偏。

当然,这东西坑也很多,几乎是唯一一个避坑指南比入门教程还长的编程语言(可以参考https://zhuanlan.zhihu.com/p/27518650,只是一部分,实际上更多)。