首次提交:初始化项目代码
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
type Person7 struct {
|
||||
Name string
|
||||
Age int
|
||||
}
|
||||
|
||||
type Manager struct {
|
||||
Person7 *Person7 // 关联Person指针
|
||||
}
|
||||
|
||||
// GetPerson 返回关联的Person指针,触发逃逸
|
||||
func (m *Manager) GetPerson() *Person7 {
|
||||
return m.Person7 // Person指针逃逸
|
||||
}
|
||||
|
||||
// createManager 返回Manager指针,触发逃逸
|
||||
func createManager() *Manager {
|
||||
m := &Manager{
|
||||
Person7: &Person7{Name: "Manager Person", Age: 40}, // Person逃逸
|
||||
}
|
||||
return m // Manager指针逃逸
|
||||
}
|
||||
|
||||
func main() {
|
||||
manager := createManager()
|
||||
person := manager.GetPerson()
|
||||
fmt.Printf("方法接收者逃逸:%+v\n", *person)
|
||||
}
|
||||
Reference in New Issue
Block a user