惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
The GitHub Blog
The GitHub Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
雷峰网
雷峰网
U
Unit 42
Y
Y Combinator Blog
I
InfoQ
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
量子位
Microsoft Security Blog
Microsoft Security Blog
B
Blog
The Cloudflare Blog
F
Fortinet All Blogs
Google DeepMind News
Google DeepMind News
MyScale Blog
MyScale Blog
C
Check Point Blog
S
SegmentFault 最新的问题
爱范儿
爱范儿
博客园 - 叶小钗
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Hugging Face - Blog
Hugging Face - Blog
罗磊的独立博客
T
Tailwind CSS Blog

Oyiso's Blog

安装和使用Strapi时一些令人抓狂的问题 – Oyiso's Blog 手撸一个WordPress又拍云存储功能 – Oyiso's Blog 又又又更新了一下主题,创造了一个画展模板,以后可以欣赏到自己收藏的美图了 – Oyiso's Blog 为了做一个类似朋友圈的模板,我把评论区功能重写了 – Oyiso's Blog 最近在研究新的主题,这是属于own的主题,2024年新年主题 Oyiso's Theme 首次亮相 – Oyiso's Blog JS中使用getBoundingClientRect()方法获取精确的元素距离 – Oyiso's Blog 实现元素hover效果:从左出现从右离开的下划线 – Oyiso's Blog
后端开发之Go语言学习心得 – Oyiso's Blog
神秘布偶猫 · 2025-08-11 · via Oyiso's Blog

前言

目前大部分时间都用来学习go语言了,从基础到框架的学习,还是很轻松的,就是需要特别注意容易踩坑。

感想

在go语言中,需要大量的写 if err != nil {} 用来排错,这是为后续程序运行报错提供明确的指示,我理解这样的做法,在初学者阶段,能提前把错误给判定了,这样后面就能少踩一些坑。

目前的go语言生态并不成熟,一些框架设计的都是非常简单,没有像python或js那样,有海量的类库。但是go的语法非常简单,也不需要太复杂的库。目前已经学习的框架有:gingormgrpc

go语言是没有面向对象的,但是有结构体,可以实现类似的面向对象,并且go语言有一个类型叫 鸭子类型 ,这是一个非常好的设计,原理就是:一只鸟,看着像鸭子,叫起来像鸭子,走起来像鸭子,水里游起来也像鸭子,那么就可以判定这只鸟就是一只鸭子。只要我的行为跟你定义的一样,那么我就是你。

从js转到go后,发生了很大的变化,就是不能随意赋值了,哈哈哈。go是一种强类型静态语言,需要明确指定变量的类型,如果想填入任意值,可以使用 any 或者 interface{} ,但这样又会引发出另一个问题,在使用这个变量的时候需要通过断言或者反射来获取变量的类型,否则无法使用。还有一点就是一个int整数类型,有int,int8,......,int64等等,甚至还有uint,他有很多不同的类型,在js中只需要确认他是number类型。假如有个变量定义的是int64,然后它的值为128,如果你要转换成int8,那么就会报错,因为int8的范围是-128到127,所以在高数值转向低数值的时候要特别小心。

接下来就是聊一下go语言能胜任的业务:

  • 网络编程:高性能服务器,API开发
  • 分布式系统:微服务架构,消息队列
  • 大数据处理:并行计算,流式处理
  • 云计算:云原生,k8s集群
  • 游戏开发:服务器端网络编程
  • ......

目前最流行的就是微服务,云原生,k8s,docker等等。

个人分享

开发go可以用vscode和goland,其中goland是最好用的,因为功能更全面,但它是收费的。vscode是免费的,但是他有go语言开发工具包,也非常好用。主选goland,其次是vscode。

目前最新的go是用go mod来管理项目,在使用第三方类库的时候简单了很多。

推荐一些第三方库:

还有一些我没列出来,感兴趣的可以去 pkg.go.dev 搜索。

在国内拉取第三方库的时候可能会出现网络异常,这时候需要给go mod加个代理,推荐两个:

根据自己喜好去选择。

还有很多关于go语言的话题没有讲完,今天就讲这么多,后续再补充。如果感兴趣可以前往我的笔记站点查看:Go语言笔记