We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents 7237bf6 + 017578f commit 967aa7eCopy full SHA for 967aa7e
src/chapter07/golang.01.md
@@ -114,7 +114,7 @@ func main() {
114
* Golang在编译时的逃逸分析可以减少gc的压力,不逃逸的对象分配在栈上,当函数返回时就回收了资源,不需要gc标记清除。
115
* 如果你定义的对象的方法上有同步锁,但在运行时,却只有一个线程在访问,此时逃逸分析后的机器码,会去掉同步锁运行,提高效率。
116
117
-还是上面的那段程序代码,我们可以执行 `go build -gcflags '-m -l' test_stack.go`来进行逃逸分析,输出结果如下
+还是上面的那段程序代码,我们可以执行 `go build -gcflags '-m -l' test_stack.go`来进行逃逸分析,输出结果如下:
118
119
```bash
120
# command-line-arguments
@@ -165,7 +165,7 @@ func main() {
165
}
166
```
167
168
-返回值ret是按值传递的,执行的是栈拷贝,不存在逃逸.
+返回值ret是按值传递的,执行的是栈拷贝,不存在逃逸.
169
170
* 按址传递
171
@@ -248,7 +248,6 @@ func r() *Result{
248
return &ret
249
250
251
-
252
只有返回ret对象的引用时才会把对象分配在堆上,我们不必要在一开始的时候就显式地把ret定义为指针,因为这样会对阅读代码也会容易产生误导.
253
254
```go
0 commit comments