From b14ab785766974e5672cf34b71c8ebe704ed9617 Mon Sep 17 00:00:00 2001 From: Xargin Date: Mon, 18 Apr 2016 11:56:40 +0800 Subject: [PATCH] fix typo --- ch2/ch2-03-4.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ch2/ch2-03-4.md b/ch2/ch2-03-4.md index b18da3a..5cd1fe9 100644 --- a/ch2/ch2-03-4.md +++ b/ch2/ch2-03-4.md @@ -28,7 +28,7 @@ for t := 0.0; t < cycles*2*math.Pi; t += res { 在每次循环的开始会创建临时变量t,然后在每次循环迭代中创建临时变量x和y。 -那么垃Go语言的自动圾收集器是如何知道一个变量是何时可以被回收的呢?这里我们可以避开完整的技术细节,基本的实现思路是,从每个包级的变量和每个当前运行函数的每一个局部变量开始,通过指针或引用的访问路径遍历,是否可以找到该变量。如果不存在这样的访问路径,那么说明该变量是不可达的,也就是说它是否存在并不会影响程序后续的计算结果。 +那么Go语言的自动垃圾收集器是如何知道一个变量是何时可以被回收的呢?这里我们可以避开完整的技术细节,基本的实现思路是,从每个包级的变量和每个当前运行函数的每一个局部变量开始,通过指针或引用的访问路径遍历,是否可以找到该变量。如果不存在这样的访问路径,那么说明该变量是不可达的,也就是说它是否存在并不会影响程序后续的计算结果。 因为一个变量的有效周期只取决于是否可达,因此一个循环迭代内部的局部变量的生命周期可能超出其局部作用域。同时,局部变量可能在函数返回之后依然存在。