golang结构体深拷贝和结构体浅拷贝
package main import "fmt" type Per struct { name string age int sex string address string } func main(){ var p Per p.name = "小花" p.age = 20 p.sex = "女" p.address = "山东省" fmt.Printf("姓名:%s, 年龄:%d,性别:%s, 地址:%s\n", p.name,p.age,p.sex,p.address) //深拷贝 : 不会改变原值 p7 := p p7.name="爱情" fmt.Println(p7) fmt.Printf("p7的数据是:%T,%p\n",p7,&p7) fmt.Println(p) fmt.Printf("p的数据是:%T,%p\n",p,&p) fmt.Println("------------------------------------") //浅拷贝 : 用的地址所以会改变原值 var pp1 *Per pp1 = &p fmt.Println("asdasdas",pp1) pp1.name = "忙码字" fmt.Println(p) fmt.Printf("pp1的数据是:%T,%p\n",pp1,&pp1) }
eee
- 版权申明:此文如未标注转载均为本站原创,自由转载请表明出处《龙行博客》。
- 本文网址:https://www.liaotaoo.cn/365.html
- 上篇文章:Golang时间包time常用方法整理
- 下篇文章:golang结构体的四种常用方法