咨询一下 Go 开发的大佬

2023-11-07 11:48:54 +08:00
 dearzhzhao

小弟是多年的 java 开发,目前对 Go 非常感兴趣想要学习。

本人深刻知道学习一个新的语言,系统性的学习资料是非常重要的,否则学的七零八碎的,Go 的项目规范,开发规范等等都使用的不标准也太尴尬了。

我看到一些很好的资料,一个是极客时间的《 Go 语言核心 36 讲》: https://time.geekbang.org/column/intro/100013101?utm_campaign=geektime_search&utm_content=geektime_search&utm_medium=geektime_search&utm_source=geektime_search&utm_term=geektime_search

这个是极客时间读者挺多的专栏,我感觉这个内容也很不错,但唯一的问题就是据我了解这个专栏是 18 年的内容了,目前已经 2023 年,我不知道 Go 的迭代速度,在这 5 年是否有做大的变更?如果学这个内容,会不会跟不上现在的 Go 的新的特性和节奏?

除了以上内容外,小弟也想咨询一下各位 Go 的大佬,大家经常混的 Go 的社区有哪些?以及比较好的学习资源和资料是否有一些?谢谢提供。感谢。

5949 次点击
所在节点    Go 编程语言
46 条回复
codcrafts
2023-11-07 13:56:54 +08:00
geektime 的 《 go 语言核心 36 讲》真心不推荐,他里面自创了很多名词,不如 tony bai 那个 go 语言课。但是 go 极其容易上手,建议把官方的 [Effective_go]( https://go.dev/doc/effective_go) 看一遍,然后好好看一下官方推荐的 [go 项目的结构]( https://go.dev/doc/modules/layout),基本就可以写东西了。
cookgo
2023-11-07 13:58:22 +08:00
nodejsexpress
2023-11-07 14:12:06 +08:00
编程社区都好像没有特别出名的,比如 java 社区你们平时逛哪个? python 社区都是国外比较出名,nodejs 社区好像没听过出名的。。
layxy
2023-11-07 14:16:49 +08:00
go 对项目结构其实没啥约束,我在 github 上找到一个项目结构感觉还行,java 学 go 最难理解和不习惯就是接口实现和很多包通过入参传指针赋值而不是通过返回值
dearzhzhao
2023-11-07 14:26:30 +08:00
@codcrafts 啊,我看这个课程学习的人数挺多的,还准备基于这个课程开始学习了呢、、
jonsmith
2023-11-07 14:43:36 +08:00
The Go Programming Language ( Go 语言圣经),很不错的入门书。再看下常用的标准库,应该差不多了。
cnfox
2023-11-07 14:47:27 +08:00
go 的基本语法并不困难 。。
特色协程之类的就算一开始不理解并不影响简单需求的开发
有编程语言基础简单看一下基础语法 然后直接看开源脚手架就好了
我就是 java 转 go 然后几天就开始上手公司项目的,底层开发者。感兴趣可以我们弄一些小需求项目,有问题的时候简单解答一下。慢慢就熟练精进了
lsk569937453
2023-11-07 15:02:40 +08:00
go 本质上和 java 是重合的。你要学点 node ,搞前端还行,学 go 是为了啥? go 的市场又不如 java 大。
javaisthebest
2023-11-07 15:08:32 +08:00
学 Go 还要想这些 ? go 的唯一好处就是没有任何规范

最难的地方无非就是 携程和锁的使用上需要注意了

恕我直言,你还是回去先把 java 搞明白再学 go 吧
rahuahua
2023-11-07 15:17:58 +08:00
@jiayouzl 我是非常喜欢 go 的 pkg 导入方式,统一的 pkg.Var pkg.Func 方式 囧
iamee
2023-11-07 15:26:44 +08:00
@singer 欢迎 OP 给 Go 生态添砖 Java 🤣
8X96ZltB8D7WggD7
2023-11-07 15:46:52 +08:00
@iamee 不错的谐音
Ericcccccccc
2023-11-07 15:53:49 +08:00
go 几乎没啥要学的语法.
aaddccaaa
2023-11-07 16:24:00 +08:00
官方文档看懂语法,然后干活的时候对着别人代码抄,调不通了就 cv 到 gpt 给调通,再自己测测
DoWnH
2023-11-07 16:25:56 +08:00
Fooooo0
2023-11-07 16:37:56 +08:00
官方的入门学一下: https://go.dev/learn/
官方的《 Effective Go 》看个两三遍 https://go.dev/doc/effective_go
标准库全部大概看一遍: https://pkg.go.dev/std
有 Java 基础看完以上的基本可以开始写项目玩了,同时找一两个知名的自己感兴趣的 go 开源项目看。
然后深入学习可以看雨痕的《 go 程序设计》 https://www.yuque.com/qyuhen/go

另外,我面试比较喜欢问的一个问题是:你是如何学习 go (或一门新技术)的?
macscsbf
2023-11-07 16:49:53 +08:00
uber 在 github 上开源的项目全部啃下来,你就是大神了。
dearzhzhao
2023-11-07 17:05:00 +08:00
@Fooooo0 感谢。
@DoWnH 感谢。
poembre
2023-11-07 17:44:18 +08:00
小弟是多年的 Go 开发,目前对 java 非常感兴趣想要学习。

本人深刻知道学习一个新的语言,系统性的学习资料是非常重要的,否则学的七零八碎的,java 的项目规范,开发规范等等都使用的不标准也太尴尬了。 ----- 特别是框架的使用不能很好的掌握 spring-boot 还有库的使用 无法判断 用哪种 orm 更好 比如 orm-jdbctemplate mybatis mybatis-plus

希望能和 java 互换技能
dearzhzhao
2023-11-07 18:17:38 +08:00
@poembre 认真的?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/989445

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX