21 lines
365 B
Go
21 lines
365 B
Go
package main
|
|
|
|
import "fmt"
|
|
|
|
// Person 测试结构体
|
|
type Person struct {
|
|
Name string
|
|
Age int
|
|
}
|
|
|
|
// newPerson 返回局部变量指针,触发逃逸
|
|
func newPerson(name string, age int) *Person {
|
|
p := &Person{Name: name, Age: age} // p 逃逸至堆
|
|
return p
|
|
}
|
|
|
|
func main() {
|
|
p := newPerson("Alice", 25)
|
|
fmt.Printf("局部变量指针返回:%+v\n", *p)
|
|
}
|