mirror of
https://github.com/chai2010/advanced-go-programming-book.git
synced 2025-05-24 04:22:22 +00:00
commit
16668ab8df
@ -551,7 +551,7 @@ func FindPhoneNumber(filename string) []byte {
|
||||
|
||||
这段代码返回的`[]byte`指向保存整个文件的数组。因为切片引用了整个原始数组,导致自动垃圾回收器不能及时释放底层数组的空间。一个小的需求可能导致需要长时间保存整个文件数据。这虽然这并不是传统意义上的内存泄漏,但是可能会拖慢系统的整体性能。
|
||||
|
||||
要修复这个问题,可以将感兴趣的数据复制到一个新的切片中(数据的传值是Go语言编程的一个哲学,虽然传值有一定的代价,但是换取好处是切断了对原始数据的依赖):
|
||||
要修复这个问题,可以将感兴趣的数据复制到一个新的切片中(数据的传值是Go语言编程的一个哲学,虽然传值有一定的代价,但是换取的好处是切断了对原始数据的依赖):
|
||||
|
||||
```go
|
||||
func FindPhoneNumber(filename string) []byte {
|
||||
|
Loading…
x
Reference in New Issue
Block a user