go语言基础-----06-----匿名字段、同名字段
生活随笔
收集整理的這篇文章主要介紹了
go语言基础-----06-----匿名字段、同名字段
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一 匿名字段、同名字段
1 匿名字段的作用及其初始化
- 1)go中的匿名字段就是只有類型,沒有名字。
- 2)匿名字段的作用:因為go沒有封裝、繼承、多態的概念,但是go也是可以面向對象編程,因為有匿名字段。例如下面,Student通過匿名字段繼承了Persion的所有成員。
實際上學過C的都知道,就是一個簡單的結構體嵌套而已,只不過在go叫得高大尚了。
type Persion struct {name stringsex byteage int }// 普通變量的聲明有var關鍵字,結構體內部不需要var type Student struct {Persion // 匿名字段,只有類型,沒有名字。它繼承了Persion的所有成員id intaddr string }- 3)匿名字段的初始化
結果:
2 同名字段
1)同名字段就是在匿名字段中有一個成員,而匿名字段外也有一個同樣名字的成員。
type Persion struct {name stringsex byteage int }// 普通變量的聲明有var關鍵字,結構體內部不需要var type Student struct {Persion // 匿名字段,只有類型,沒有名字。它繼承了Persion的所有成員id intaddr stringname string // 同名字段,因為Persion里面也有一個name。編譯器依照就近原則去操作,即本成員優先級高。 }- 2)當存在同名字段時,編譯器會按照就近原則去搜索。如果在本作用域找到,則直接使用,沒有則去繼承的結構體中找。
3 非結構體類型匿名字段
- 1)實際上非結構體類型匿名字段和第1點講到的匿名字段是一樣的,只不過這些類型不是結構體,一般是基本數據類型,例如int、short這些。
這里只是為了讓大家加深印象。
4 結構體指針匿名字段
- 1)同理,結構體指針匿名字段和第1點講的一樣,這里只是讓大家加深印象,指定怎么用。
總結
以上是生活随笔為你收集整理的go语言基础-----06-----匿名字段、同名字段的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3.EP4CE10F17的串口设计
- 下一篇: 入库记录软件