小弟是多年的 java 开发,目前对 Go 非常感兴趣想要学习。
本人深刻知道学习一个新的语言,系统性的学习资料是非常重要的,否则学的七零八碎的,Go 的项目规范,开发规范等等都使用的不标准也太尴尬了。
我看到一些很好的资料,一个是极客时间的《 Go 语言核心 36 讲》:
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 的社区有哪些?以及比较好的学习资源和资料是否有一些?谢谢提供。感谢。

www.hesudu.com/t/988107#reply21

我这这里帖子下面也看到一些很好的推荐: www.hesudu.com/t/988107#reply21

看开源项目、试着写一个网关、再写点业务性强的代码,基本就能上手了。但一定要把自己的 java 习惯抛弃掉,不然容易写出 go 版的 java 代码

重大变更: 包管理, 泛型

go.dev/doc/effective_go 官方的这个看着还不错

gova

18 年到现在比较大的改动也就是 go mod 和泛型支持了,这两个特性稍微看看就会用了,至于社区嘛就是多逛逛 github

毛遂自荐 - 我写的免费电子书,内容是 {快速入门 + 进阶提高} golang.dbwu.tech/

有基础的话,找个感兴趣的开源项目,直接开始看源代码

github.com/unknwon/the-way-to-go_ZH_CN

Go 语言层面的变动不大, 建议看 The Go Programming Language. 然后读代码, 看到不懂的用法再 Google 就行了.相比 Java, Go 语言的复杂度低一个数量级, 好处是比较易懂, 很工程化的语言

The Go Programming Language + go mod + 泛型就够了,作为一门语言的 go 其实是简单的,甚至可以说是简陋的。但 go 写的很多云原生的基础设施是精巧的,值得一看源码。

感谢各位的指点

🙏

学会 go mod ,配置好梯子能无障碍访问 github 就够了代码风格只需要 vscode 装好 go 插件都是自动的,不需要操心项目结构,既然 java 转过来的,直接硬套也不是不行一开始会不适应面向对象到面向过程,多写习惯就好了

head first go 这本书入门极好

,🤣

谢谢

哎,感觉 go 的社区现在都是半死不活的状态。项目规范和开发规范推荐一个老外的培训课件: github.com/ardanlabs/service 个人觉得非常不错(注:b 站有搬运的视频)。入门的话感觉随便找个书或者极客的课感觉都差不多。深入的话个人感觉就是看开源项目:bigcache ,ants 、gnet 、rosedb ,nsq 都不错。最后附一下自己学习 golang 的一些笔记感兴趣可以看看: github.com/Zhouchaowen/golang-tutorial , github.com/Zhouchaowen/Labs

go 的导入包的方式我是真心不习惯!

geektime 的 《 go 语言核心 36 讲》真心不推荐,他里面自创了很多名词,不如 tony bai 那个 go 语言课。但是 go 极其容易上手,建议把官方的 Effective_go 看一遍,然后好好看一下官方推荐的 go 项目的结构,基本就可以写东西了。

github.com/stayfoo/stayfoo-hub/blob/master/docs/golang/asset/go-overview.jpg

编程社区都好像没有特别出名的,比如 java 社区你们平时逛哪个? python 社区都是国外比较出名,nodejs 社区好像没听过出名的。。

go 对项目结构其实没啥约束,我在 github 上找到一个项目结构感觉还行,java 学 go 最难理解和不习惯就是接口实现和很多包通过入参传指针赋值而不是通过返回值

啊,我看这个课程学习的人数挺多的,还准备基于这个课程开始学习了呢、、

The Go Programming Language ( Go 语言圣经),很不错的入门书。再看下常用的标准库,应该差不多了。

go 的基本语法并不困难 。。特色协程之类的就算一开始不理解并不影响简单需求的开发有编程语言基础简单看一下基础语法 然后直接看开源脚手架就好了我就是 java 转 go 然后几天就开始上手公司项目的,底层开发者。感兴趣可以我们弄一些小需求项目,有问题的时候简单解答一下。慢慢就熟练精进了

go 本质上和 java 是重合的。你要学点 node ,搞前端还行,学 go 是为了啥? go 的市场又不如 java 大。

学 Go 还要想这些 ? go 的唯一好处就是没有任何规范 最难的地方无非就是 携程和锁的使用上需要注意了恕我直言,你还是回去先把 java 搞明白再学 go 吧

我是非常喜欢 go 的 pkg 导入方式,统一的 pkg.Var pkg.Func 方式 囧

欢迎 OP 给 Go 生态添砖 Java 🤣

不错的谐音

go 几乎没啥要学的语法.

官方文档看懂语法,然后干活的时候对着别人代码抄,调不通了就 cv 到 gpt 给调通,再自己测测

geektutu.com/post/high-performance-go.html books.studygolang.com/The-Golang-Standard-Library-by-Example/chapter01/01.4.html chai2010.cn/advanced-go-programming-book/ch1-basic/ch1-02-hello-revolution.html www.topgoer.com/gin%E6%A1%86%E6%9E%B6/ learnku.com/docs/effective-go/2020/introduction/6236自己收藏的一些书,供参考

官方的入门学一下: go.dev/learn/ ;官方的《 Effective Go 》看个两三遍 go.dev/doc/effective_go ;标准库全部大概看一遍: pkg.go.dev/std 有 Java 基础看完以上的基本可以开始写项目玩了,同时找一两个知名的自己感兴趣的 go 开源项目看。然后深入学习可以看雨痕的《 go 程序设计》 www.yuque.com/qyuhen/go 。另外,我面试比较喜欢问的一个问题是:你是如何学习 go (或一门新技术)的?

uber 在 github 上开源的项目全部啃下来,你就是大神了。

感谢。 感谢。

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

认真的?

www.bilibili.com/video/BV1gf4y1r79E 这个不错, 适合有开发经验的人快速上手

go 就完事了,用 go 还那么拘谨干什么