最近我参加了几次围棋工作面试。第一个问我How is channel implemented? ,然后第二个问How is goroutine implemented? .就像你猜的那样,下一个问 How is a Go interface implemented? .
我已经使用 Go 六个月了,但老实说我从来没有关心或知道这些 Go internals .
我试图通过阅读Go的源代码来学习这些,但无法真正理解其中的精髓。
所以问题是,对于 Go 的菜鸟,我如何学习 Go 的内部结构?
Best Answer-推荐答案
最有组织的内部资源链接集合可能是这样的:
Golang Internals Resources
除此之外,这些问题的答案不是在一个地方收集的,而是分散在不同的博客文章中。
slice 内部:The Go Blog: usage and internals
字符串内部:The Go Blog: Strings, bytes, runes and characters in Go
常量内部:The Go Blog: Constants
反射(reflection)洞察:The Go Blog: The Laws of Reflection
接口(interface)内部:RSC: Go Data Structures: Interfaces
channel 实现:SO 概述:How are Go channels implemented?
channel 内部:Go channel on steroids
map 实现:SO 概述:Golang map internal implementation - how does it search the map for a key? ;还相关:Go's maps under the hood
map 内部:Macro View of Map Internals In Go
关于go - 如何学习 Go 编程语言的内部结构?对于菜鸟,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/49771806/
|