Go自定義類型,類型別名,結(jié)構(gòu)體

Go自定義類型、類型別名和結(jié)構(gòu)體

自定義類型

type 自定義類型名 類型

示例

type myInt int
var n myInt
fmt.Printf("%T\n", n)

輸出:main.myInt

說(shuō)明

  1. 自定義類型在編譯后仍然是我們定義的類型
  2. 自定義類型可以對(duì)基本類型進(jìn)行拓展與改變

類型別名

type 類型別名=類型

示例

type myInt = int
var n myInt
fmt.Printf("%T\n", n)

輸出:int

說(shuō)明

  1. 類型別名并不改變變量的本質(zhì)屬性

  2. 類型別名在編譯后會(huì)變回原變量類型

  3. 類型別名的意義在于給指定的類型賦于更直白的類型以便得代碼更適合閱讀與解析

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

定義格式

type 類型名 struct{
    字段名 字段類型
    字段名 字段類型
    ... 
}

//匿名結(jié)構(gòu)體
var 變量名 struct{
    字段名 字段類型
    字段名 字段類型
    ...
}

//連續(xù)的同類型字段可以用字段類型簡(jiǎn)寫(xiě)
type 類型名 struct{
    字段1,字段2 字段類型
    ...
}

示例

type student struct{
    name string  //姓名字段
    id int       //學(xué)號(hào)字段
    gender byte  //性別字段
}

說(shuō)明

  1. 結(jié)構(gòu)體名在一個(gè)包內(nèi)必須是唯一的

  2. 字段名在一個(gè)結(jié)構(gòu)內(nèi)是唯一的

  3. 結(jié)構(gòu)體可以在函數(shù)內(nèi)定義

使用

type person struct{
    name string
    id int
}

func main(){
    //先聲明再初始化
    var a person
    a.name = "張三"
    a.id = 1
    fmt.Println(a)
    a.id = 2
    fmt.Println(a)
    fmt.Println(a.name)
    
    //聲明變量同時(shí)初始化key-value模式
    var b = person{
        name: "小飛俠"
        id: 7
    }
    //聲明變量同時(shí)用值列表進(jìn)行初始化
    var c = person{
        "唐伯虎"
        9527
    }
}
//輸出{張三 1}  {張三 2} 張三

用函數(shù)修改結(jié)構(gòu)體字段的值

func f1(p person){
    p.name = "李四"
}
func f2(p *person){
    p.name = "李四" //  <=> (*p).name = "李四" 
}
func main(){
    var a person
    a.name = "張三"
    a.id =1
    fmt.Println(a) // {張三 1}
    f1(a)
    fmt.Println(a) // {張三 1}
    //無(wú)法改變羡洛,因?yàn)間o中傳入的永遠(yuǎn)是參數(shù)的復(fù)本
    f2(&a)
    fmt.Println(a)// {李四 1}
    
    //結(jié)構(gòu)體指針
    var c = new(person) //c是一個(gè)person類型的指針
    c.name = "飛天小豬"
    c.id = 17
    f2(c)
    fmt.Println(*c)
}

內(nèi)存

結(jié)構(gòu)的各個(gè)字段內(nèi)存是連續(xù)的

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末楷力,一起剝皮案震驚了整個(gè)濱河市宏侍,隨后出現(xiàn)的幾起案子处渣,更是在濱河造成了極大的恐慌骨杂,老刑警劉巖天通,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異逼争,居然都是意外死亡优床,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門誓焦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)胆敞,“玉大人,你說(shuō)我怎么就攤上這事杂伟∫撇悖” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵赫粥,是天一觀的道長(zhǎng)观话。 經(jīng)常有香客問(wèn)我,道長(zhǎng)越平,這世上最難降的妖魔是什么频蛔? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮秦叛,結(jié)果婚禮上帽驯,老公的妹妹穿的比我還像新娘。我一直安慰自己书闸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布利凑。 她就那樣靜靜地躺著浆劲,像睡著了一般嫌术。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上牌借,一...
    開(kāi)封第一講書(shū)人閱讀 52,268評(píng)論 1 309
  • 那天度气,我揣著相機(jī)與錄音,去河邊找鬼膨报。 笑死磷籍,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的现柠。 我是一名探鬼主播院领,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼够吩!你這毒婦竟也來(lái)了比然?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤周循,失蹤者是張志新(化名)和其女友劉穎强法,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體湾笛,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡饮怯,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了嚎研。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蓖墅。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖嘉赎,靈堂內(nèi)的尸體忽然破棺而出置媳,到底是詐尸還是另有隱情,我是刑警寧澤公条,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布拇囊,位于F島的核電站,受9級(jí)特大地震影響靶橱,放射性物質(zhì)發(fā)生泄漏寥袭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一关霸、第九天 我趴在偏房一處隱蔽的房頂上張望传黄。 院中可真熱鬧,春花似錦队寇、人聲如沸膘掰。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)识埋。三九已至凡伊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間窒舟,已是汗流浹背系忙。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留惠豺,地道東北人银还。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像洁墙,于是被迫代替她去往敵國(guó)和親蛹疯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容