V 友们,系统的深入学习 golang 有没有好点儿的资料

154 天前
 Grocker
背景:以前是做 php 的,陆陆续续用 go 也做过好几个项目了,主要是 gin + gorm, 但感觉写出来的代码总是不那么的 "go", 看过 Go 语言圣经(看着后半部分太吃力了,看不下去),和极客时间的 go 语言核心 36 讲
2504 次点击
所在节点    Go 编程语言
16 条回复
PTLin
154 天前
https://book.douban.com/subject/35720728/ 这个上下两本推荐看看,个人感觉还不错。
smallboy19991231
154 天前
看黑书已经足够了。https://book.douban.com/subject/27044219/?dt_dapp=1 Go 程序设计语言
lasuar
154 天前
现在 go 的资料已经好多了,要有 go 的味道就要少看 java 作者写的框架。
另外,可以多了解 go 里面的特有设计模式,比如 option 模式、New 函数模式、Builder 模式、池化模式。
Grocker
154 天前
@PTLin 这本书作者和极客时间 《 go 语言核心 36 讲》 是一样的 😄
wwhontheway
154 天前
cheny233
154 天前
@lasuar 提到的这些特有的设计模式 有什么学习内容推荐吗
lasuar
154 天前
@cheny233 #6 直接关键字搜索,不用喂到嘴里吧。
lianxiben
154 天前
ciaoSora
154 天前
(纯好奇,非引战)深入学习 go 是指什么?因为 go 的官方手册都不是很长来着,感觉 go 是一门设计相对简单的语言?
PTLin
154 天前
@ciaoSora 应该是指的 go GMP 调度细节,runtime 高级用法,mutex chan 具体实现,goroutine 实现,runtime 内存分配策略这方面的东西。
echoless
154 天前
@ciaoSora #9 go 用起来简单, 但是你不了解底层就很难过面试了.

我不知道是 golang 的失败还是面试有问题.

一般来讲, 如果我用一个工具, 了解底层实现才能用好, 说明这个东西设计有问题了. (文档解决不了)

我在面试的时候仅仅提我也能写 golang, 面试官就问问 go routine 实现...
cin
154 天前
读标准库的代码
另外 https://book.douban.com/subject/35720728/ 的作者和 go 语言核心 36 讲的作者不是同一个, 不过作者在极客时间上也有个课程 Go 语言第一课
推荐作者的一篇文章: https://tonybai.com/2017/04/20/go-coding-in-go-way/
ETCartman
154 天前
我是看的“深入 Go 底层原理,重写 Redis 中间件实战”https://coding.imooc.com/class/576.html ,然后结合着看《 Go 专家编程》,https://space.bilibili.com/317473362https://space.bilibili.com/373073810
ciaoSora
153 天前
@echoless 不了解底层确实很难过面试,去年面过一家小私募量化,被问了什么 go 的什么染色。当时我还信心满满地去面的因为我 go 用得挺熟的,结果反手就被问的哑口无言然后被挂。感觉 go 应该是没什么问题的(虽然我本人很不喜欢),就是面试太爱问实际开发用不到、且不懂也无所谓的东西了。我不理解既然 go 都已经带一个 runtime 了,我为什么还要了解 runtime 的底层机制,总不能反过来预判 runtime 的行为来做些什么所谓优化吧……
echoless
153 天前
@ciaoSora #14 哈哈, 不知道面 CPP 会不会考汇编. 面 python 最多让大致讲一下 GC 原理(其实就是背一下八股文), 除此之外, 不会问太多 python 的实现, golang 的面试夸张的居多, 不知道是不是因为 golang 太简单了, 还是 golang 语言最早成长起来的时候都是看所谓源码,深度解析.

如果 go 不是不了解底层实现用不好, 那就是太卷了. 反正无所谓了, 现在行业崩了.
kevinpendragon
133 天前
https://draveness.me/
这个大佬的博客可以看看,从发布时间来看算比较早的,里面有些方法到现在都很有用。

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

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

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

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

© 2021 V2EX