Golang的結(jié)構(gòu)體

知識點預(yù)覽

1.Golang中的結(jié)構(gòu)體的區(qū)別
2.結(jié)構(gòu)體的聲明
3.結(jié)構(gòu)體方法的使用
4.結(jié)構(gòu)體方法與函數(shù)的區(qū)別

1.golang中嚴(yán)格意義上是沒有oop的思想,只是通過結(jié)構(gòu)體的方式來實現(xiàn)了面向?qū)ο?2.golang中沒有類,通過結(jié)構(gòu)體可以實現(xiàn)同等的地位
3.golang中去除了傳統(tǒng)的oop語法,繼承,重載,構(gòu)造,析構(gòu),隱藏this的特性
4.golang仍然有面向?qū)ο笕筇匦?,只是實現(xiàn)和面向?qū)ο蠓椒ㄓ兴煌瑳]有extends關(guān)鍵字
5.golang中的結(jié)構(gòu)體是非常靈活的,耦合度低
//結(jié)構(gòu)體聲明與定義
type 結(jié)構(gòu)體名 struct {
  結(jié)構(gòu)體屬性1 type
  結(jié)構(gòu)體屬性2 type
  結(jié)構(gòu)體屬性3 type
}
//定義方式1:
var 變量名 結(jié)構(gòu)體名  //把一個變量的類型聲明成之前定義的結(jié)構(gòu)體
變量名.字段1 //賦值
變量名.字段2 //
//定義方式2聲明和定義同時進行
var 變量名 結(jié)構(gòu)體 = 結(jié)構(gòu)體{}  //定義同時賦值
//定義方式3
var 變量名 *結(jié)構(gòu)體= new(結(jié)構(gòu)體)  //返回的是一個指針
(*變量名).字段1 = 值1  //賦值方式1
變量名.字段1 = 值1   //底層自動加上了*在這個賦值的過程中
//定義方式4
var 變量名 *結(jié)構(gòu)體= &結(jié)構(gòu)體{}  //返回的是一個指針
(*變量名).字段1 = 值1  //賦值方式1
變量名.字段1 = 值1   //底層自動加上了*在這個賦值的過程中

//結(jié)構(gòu)體的傳值方式是值傳遞,結(jié)構(gòu)體屬性可以是:基本數(shù)據(jù)類型,數(shù)組,map,切片等
//定義一個結(jié)構(gòu)體
type Person struct {
    Name string
}
//定義一個結(jié)構(gòu)體方法
func (p Person) test() {  //其中p可以隨便相當(dāng)于形式參數(shù)
    fmt.Println(p.Name)
}
func main()  {
    var p1 Person
    p1.Name = "張三"
    p1.test()
}
細節(jié):在結(jié)構(gòu)體中指針形式(*a1).xx() 等價 a1.xx();(&a1).name 
等價 a1.name 因為結(jié)構(gòu)體底層自動轉(zhuǎn)化了
//函數(shù)
func  函數(shù)名(形參 type){
    函數(shù)體
}
函數(shù)名()  //調(diào)用時候形參定義了什么類型傳遞時候也是對應(yīng)類型,否則無效
//結(jié)構(gòu)體方法
func(形參 結(jié)構(gòu)體) 方法名(形參){
}
&變量.方法  //這里比較容易混淆的,結(jié)構(gòu)體方法以方法中的類型即(形參)為主
如果不是指針則不會改變,是go語言底層自動轉(zhuǎn)換導(dǎo)致的
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,674評論 1 32
  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學(xué)習(xí)記錄文檔,今天18年5月份再次想寫文章,發(fā)現(xiàn)簡書還為我保存起的...
    Jenaral閱讀 3,146評論 2 9
  • “外面的世界是什么樣子的。” “很美好,也很可怕。” “那為什么村里的人都想去看看呢?” “因為好奇?!?“好奇?...
    夏一憶閱讀 243評論 0 0
  • 很榮幸站在這里和大家分享上一學(xué)期在生活部的工作心得。 本學(xué)期我們每周三晚上都會定期進行查寢工作,為了調(diào)動大家講...
    生無可戀1ing閱讀 283評論 0 0
  • 突然想寫一下沒有性的婚姻,因為無性婚姻現(xiàn)在看來太普遍了,給人們造成的傷害也太大了。 而且,這種傷害,大多是需要自己...
    紅豆卡布閱讀 6,059評論 2 13

友情鏈接更多精彩內(nèi)容