Go语言的“变量逃逸”让很多人觉得有些费解,我尝试用一些旧的名词把这个新鲜的概念描述的很简单,就像它本来应有的样子。

阅读全文 »

函数在现代编程语言里已经常见到不能再常见,与函数密切相关的参数、返回值和局部变量,都是分配在运行时栈上的。至于具体是如何分配和使用的,那就来看一下函数的栈帧。

阅读全文 »

在最近的Go1.14版中,defer被再度优化。我觉得可以用“脱胎换骨”来形容这次的优化,到底与以往的大小优化有什么不同?请跟我一起走进Open Coded Defer。

阅读全文 »

解析Go语言中的函数、方法、Function Value和闭包。最有意思的还要说“看见闭包”,也就是拿到编译器为闭包构造的类型信息,原本这一切对我们是隐藏的。

阅读全文 »