Files
bulma/escape/no_escape.go
T

30 lines
543 B
Go

package main
import "fmt"
type Person8 struct {
Name string
Age int
}
// noEscape 返回值类型,不逃逸
func noEscape() Person8 {
p := Person8{Name: "No Escape", Age: 25}
return p // 值拷贝,生命周期局限于函数内
}
// localVar 局部变量,未被外部引用,不逃逸
func localVar() {
x := 100
y := "hello"
p := Person8{Name: "Local", Age: 30}
fmt.Printf("局部变量不逃逸:x=%d, y=%s, p=%+v\n", x, y, p)
}
func main() {
p := noEscape()
fmt.Printf("返回值不逃逸:%+v\n", p)
localVar()
}