Loading... 需要注意的是如果要使用指针当作匿名字段使用,则建议是为指针创建专用指针空间,否则指针类型默认地址值为空,对应的内存地址是0x0,会报错panic异常自动退出程序。 我们来看下代码实例: ```Go package main import "fmt" type Person struct { id int name string address string } type users struct { *Person // 此处指针作为匿名字段使用 (指针类型默认地址值为nil:0x0), // 初始化成员信息 son_name string son_address string } func main() { // 创建对象 var info users // 为指针创建空间 info.Person=new(Person) // 创建对象信息(父级) info.id =1 info.name = "联想" info.address = "中国" // 创建对象信息(子级) info.son_name = "小新" info.son_address = "上海" fmt.Println("指针地址信息:") fmt.Println(info) fmt.Println() fmt.Println("品牌ID:",info.id) fmt.Println("品牌名称:",info.name) fmt.Println("品牌地址:",info.address) fmt.Println() fmt.Println("子品牌:",info.son_name) fmt.Println("子品牌地址:",info.son_address) } ``` 执行后输出结果: ```Go 指针地址信息: {0xc00006e330 小新 上海} 品牌ID: 1 品牌名称: 联想 品牌地址: 中国 子品牌: 小新 子品牌地址: 上海 ``` 最后修改:2021 年 03 月 31 日 05 : 10 PM © 允许规范转载