golang匿名组合
生活随笔
收集整理的這篇文章主要介紹了
golang匿名组合
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
匿名組合
匿名字段
一般情況下,定義結(jié)構(gòu)體的時(shí)候是字段名和其類型一一對(duì)應(yīng),實(shí)際上go支持只提供類型而不寫字段名的方法,也就是匿名字段,也稱為嵌入式字段
當(dāng)匿名字段也是一個(gè)結(jié)構(gòu)體的時(shí)候,那么這個(gè)結(jié)構(gòu)體所擁有的全部字段都被隱式的引入了當(dāng)前定義的這個(gè)結(jié)構(gòu)體
實(shí)現(xiàn)代碼復(fù)用
輸出
s = {{11 mm} 11 aaa}顯示賦值
type Person struct {id intname string }type Student struct {Person //匿名字段,默認(rèn)Student就包含了Person的所有字段id intaddr string }func main() {var s Student//默認(rèn)是給本作用域,如果找不到找其他的s.id = 1//指定,顯示調(diào)用s.Person.id = 2// %v詳細(xì)打印fmt.Printf("s = %v\n", s) }非結(jié)構(gòu)體匿名字段
type mystr stringtype Person struct {id intname string }type Student struct {Person //匿名字段,默認(rèn)Student就包含了Person的所有字段id intaddr stringmystr }func main() {var s Student//默認(rèn)是給本作用域,如果找不到找其他的s.id = 1s.mystr = "111"//指定,顯示調(diào)用s.Person.id = 2// %v詳細(xì)打印fmt.Printf("s = %v\n", s) }總結(jié)
以上是生活随笔為你收集整理的golang匿名组合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: golang中的方法
- 下一篇: golang中的随机数