假设我有这个闭包函数
package main
type A struct {
Name string
}
func main() {
s := func(name string) *A {
return &A{
Name: name,
}
}("checkmate")
s.Name = "bbb"
}
我已经用基准和 gcflags 进行了测试,这就是结果
cpu: Intel(R) Core(TM) i3-10110U CPU @ 2.10GHz
BenchmarkMain-4 1000000000 0.4877 ns/op 0 B/op 0 allocs/op
去构建-gcflags“-m”
./main.go:8:7: can inline main.func1
./main.go:7:6: can inline main
./main.go:12:3: inlining call to main.func1
./main.go:12:3: &A{...} does not escape
这仍然是内存安全的吗?或者我的内存分配检查可能缺少一些东西?
慕斯709654
相关分类