午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁(yè) > 知識(shí)庫(kù) > Go語(yǔ)言struct類型詳解

Go語(yǔ)言struct類型詳解

熱門標(biāo)簽:海外照相館地圖標(biāo)注入駐 外呼系統(tǒng)多少錢一年 滁州自建外呼系統(tǒng) 外呼系統(tǒng)如何接收服務(wù)密碼 客服級(jí)電銷機(jī)器人 旅游廁所如何電子地圖標(biāo)注 智能營(yíng)銷軟件 工商信用卡外呼系統(tǒng)教程 經(jīng)常接到推銷電話機(jī)器人的電話

struct

Go語(yǔ)言中,也和C或者其他語(yǔ)言一樣,我們可以聲明新的類型,作為其它類型的屬性或字段的容器。例如,我們可以創(chuàng)建一個(gè)自定義類型person代表一個(gè)人的實(shí)體。這個(gè)實(shí)體擁有屬性:姓名和年齡。這樣的類型我們稱之struct。如下代碼所示:

復(fù)制代碼 代碼如下:

type person struct {
    name string
    age int
}

看到了嗎?聲明一個(gè)struct如此簡(jiǎn)單,上面的類型包含有兩個(gè)字段。

1.一個(gè)string類型的字段name,用來保存用戶名稱這個(gè)屬性
2.一個(gè)int類型的字段age,用來保存用戶年齡這個(gè)屬性

如何使用struct呢?請(qǐng)看下面的代碼:

復(fù)制代碼 代碼如下:

type person struct {
    name string
    age int
}

var P person  // P現(xiàn)在就是person類型的變量了

P.name = "Astaxie"  // 賦值"Astaxie"給P的name屬性.
P.age = 25  // 賦值"25"給變量P的age屬性
fmt.Printf("The person's name is %s", P.name)  // 訪問P的name屬性.

除了上面這種P的聲明使用之外,還有另外幾種聲明使用方式:

1.按照順序提供初始化值

復(fù)制代碼 代碼如下:

P := person{"Tom", 25}

2.通過field:value的方式初始化,這樣可以任意順序
復(fù)制代碼 代碼如下:

P := person{age:24, name:"Tom"}

3.當(dāng)然也可以通過new函數(shù)分配一個(gè)指針,此處P的類型為*person
復(fù)制代碼 代碼如下:

P := new(person)

下面我們看一個(gè)完整的使用struct的例子

復(fù)制代碼 代碼如下:

package main
import "fmt"

// 聲明一個(gè)新的類型
type person struct {
    name string
    age int
}

// 比較兩個(gè)人的年齡,返回年齡大的那個(gè)人,并且返回年齡差
// struct也是傳值的
func Older(p1, p2 person) (person, int) {
    if p1.age>p2.age {  // 比較p1和p2這兩個(gè)人的年齡
        return p1, p1.age-p2.age
    }
    return p2, p2.age-p1.age
}

func main() {
    var tom person

    // 賦值初始化
    tom.name, tom.age = "Tom", 18

    // 兩個(gè)字段都寫清楚的初始化
    bob := person{age:25, name:"Bob"}

    // 按照struct定義順序初始化值
    paul := person{"Paul", 43}

    tb_Older, tb_diff := Older(tom, bob)
    tp_Older, tp_diff := Older(tom, paul)
    bp_Older, bp_diff := Older(bob, paul)

    fmt.Printf("Of %s and %s, %s is older by %d years\n",
        tom.name, bob.name, tb_Older.name, tb_diff)

    fmt.Printf("Of %s and %s, %s is older by %d years\n",
        tom.name, paul.name, tp_Older.name, tp_diff)

    fmt.Printf("Of %s and %s, %s is older by %d years\n",
        bob.name, paul.name, bp_Older.name, bp_diff)
}

struct的匿名字段

我們上面介紹了如何定義一個(gè)struct,定義的時(shí)候是字段名與其類型一一對(duì)應(yīng),實(shí)際上Go支持只提供類型,而不寫字段名的方式,也就是匿名字段,也稱為嵌入字段。

當(dāng)匿名字段是一個(gè)struct的時(shí)候,那么這個(gè)struct所擁有的全部字段都被隱式地引入了當(dāng)前定義的這個(gè)struct。

讓我們來看一個(gè)例子,讓上面說的這些更具體化

復(fù)制代碼 代碼如下:

package main
import "fmt"

type Human struct {
    name string
    age int
    weight int
}

type Student struct {
    Human  // 匿名字段,那么默認(rèn)Student就包含了Human的所有字段
    speciality string
}

func main() {
    // 我們初始化一個(gè)學(xué)生
    mark := Student{Human{"Mark", 25, 120}, "Computer Science"}

    // 我們?cè)L問相應(yīng)的字段
    fmt.Println("His name is ", mark.name)
    fmt.Println("His age is ", mark.age)
    fmt.Println("His weight is ", mark.weight)
    fmt.Println("His speciality is ", mark.speciality)
    // 修改對(duì)應(yīng)的備注信息
    mark.speciality = "AI"
    fmt.Println("Mark changed his speciality")
    fmt.Println("His speciality is ", mark.speciality)
    // 修改他的年齡信息
    fmt.Println("Mark become old")
    mark.age = 46
    fmt.Println("His age is", mark.age)
    // 修改他的體重信息
    fmt.Println("Mark is not an athlet anymore")
    mark.weight += 60
    fmt.Println("His weight is", mark.weight)
}

圖例如下:

圖2.7 Student和Human的方法繼承

我們看到Student訪問屬性age和name的時(shí)候,就像訪問自己所有用的字段一樣,對(duì),匿名字段就是這樣,能夠?qū)崿F(xiàn)字段的繼承。是不是很酷?。窟€有比這個(gè)更酷的呢,那就是student還能訪問Human這個(gè)字段作為字段名。請(qǐng)看下面的代碼,是不是更酷了。

復(fù)制代碼 代碼如下:

mark.Human = Human{"Marcus", 55, 220}
mark.Human.age -= 1

通過匿名訪問和修改字段相當(dāng)?shù)挠杏茫遣粌H僅是struct字段哦,所有的內(nèi)置類型和自定義類型都是可以作為匿名字段的。請(qǐng)看下面的例子。

復(fù)制代碼 代碼如下:

package main
import "fmt"

type Skills []string

type Human struct {
    name string
    age int
    weight int
}

type Student struct {
    Human  // 匿名字段,struct
    Skills // 匿名字段,自定義的類型string slice
    int    // 內(nèi)置類型作為匿名字段
    speciality string
}

func main() {
    // 初始化學(xué)生Jane
    jane := Student{Human:Human{"Jane", 35, 100}, speciality:"Biology"}
    // 現(xiàn)在我們來訪問相應(yīng)的字段
    fmt.Println("Her name is ", jane.name)
    fmt.Println("Her age is ", jane.age)
    fmt.Println("Her weight is ", jane.weight)
    fmt.Println("Her speciality is ", jane.speciality)
    // 我們來修改他的skill技能字段
    jane.Skills = []string{"anatomy"}
    fmt.Println("Her skills are ", jane.Skills)
    fmt.Println("She acquired two new ones ")
    jane.Skills = append(jane.Skills, "physics", "golang")
    fmt.Println("Her skills now are ", jane.Skills)
    // 修改匿名內(nèi)置類型字段
    jane.int = 3
    fmt.Println("Her preferred number is", jane.int)
}

從上面例子我們看出來struct不僅僅能夠?qū)truct作為匿名字段、自定義類型、內(nèi)置類型都可以作為匿名字段,而且可以在相應(yīng)的字段上面進(jìn)行函數(shù)操作(如例子中的append)。

這里有一個(gè)問題:如果human里面有一個(gè)字段叫做phone,而student也有一個(gè)字段叫做phone,那么該怎么辦呢?

Go里面很簡(jiǎn)單的解決了這個(gè)問題,最外層的優(yōu)先訪問,也就是當(dāng)你通過student.phone訪問的時(shí)候,是訪問student里面的字段,而不是human里面的字段。

這樣就允許我們?nèi)ブ剌d通過匿名字段繼承的一些字段,當(dāng)然如果我們想訪問重載后對(duì)應(yīng)匿名類型里面的字段,可以通過匿名字段名來訪問。請(qǐng)看下面的例子。

復(fù)制代碼 代碼如下:

package main
import "fmt"

type Human struct {
    name string
    age int
    phone string  // Human類型擁有的字段
}

type Employee struct {
    Human  // 匿名字段Human
    speciality string
    phone string  // 雇員的phone字段
}

func main() {
    Bob := Employee{Human{"Bob", 34, "777-444-XXXX"}, "Designer", "333-222"}
    fmt.Println("Bob's work phone is:", Bob.phone)
    // 如果我們要訪問Human的phone字段
    fmt.Println("Bob's personal phone is:", Bob.Human.phone)
}

您可能感興趣的文章:
  • Go語(yǔ)言中反射的正確使用
  • 談?wù)凣o語(yǔ)言的反射三定律
  • go語(yǔ)言通過反射獲取和設(shè)置結(jié)構(gòu)體字段值的方法
  • Go語(yǔ)言中使用反射的方法
  • Go語(yǔ)言的GOPATH與工作目錄詳解
  • Go語(yǔ)言創(chuàng)建、初始化數(shù)組的常見方式匯總
  • Go語(yǔ)言常用字符串處理方法實(shí)例匯總
  • GO語(yǔ)言常用的文件讀取方式
  • 淺談Go語(yǔ)言中字符串和數(shù)組
  • Go語(yǔ)言學(xué)習(xí)筆記之反射用法詳解

標(biāo)簽:深圳 九江 運(yùn)城 楚雄 本溪 晉城 喀什 湘潭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Go語(yǔ)言struct類型詳解》,本文關(guān)鍵詞  語(yǔ)言,struct,類型,詳解,語(yǔ)言,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Go語(yǔ)言struct類型詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Go語(yǔ)言struct類型詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    亚洲天堂第一区| 欧美性受xxx黑人xyx性爽| 国产第一页视频| 黄色av免费播放| 久久久一区二区三区四区| 不卡欧美aaaaa| 久久伊人精品天天| 人人干人人视频| 青青国产在线观看| 美女任你摸久久| 一本色道久久综合亚洲精品按摩 | 日韩麻豆第一页| 精品欧美一区二区久久久伦| 182在线观看视频| 久久久噜噜噜久久人人看| 国产精品96久久久久久又黄又硬| 成人做爰69片免费| 亚洲黄色精品视频| xnxx国产精品| 欧美男女性生活在线直播观看| 亚洲精品一区中文字幕乱码| 精品一区国产| 成人激情在线播放| 欧美亚洲爱爱另类综合| 国产精品综合激情| 国产亚洲精品高潮| 天天天干夜夜夜操| 国内精品久久久久影院色| 日韩无一区二区| 欧美专区第一页| 在线观看一区二区三区四区| 高清不卡一二三区| 欧美在线xxx| 杨幂毛片午夜性生毛片 | 久久精品免费观看| 色综合影院在线| 青青草久久伊人| 久久嫩草精品久久久精品一| 国产自产女人91一区在线观看| 麻豆亚洲av熟女国产一区二| 日本道色综合久久| 蜜桃精品久久久久久久免费影院| 日本一二三区在线| 国内老熟妇对白xxxxhd| 亚洲视频在线观看| 欧美大成色www永久网站婷| 99在线影院| 国产乱淫a∨片免费观看| 日韩午夜激情电影| 阿v天堂2017| 日韩二区在线观看| 欧美大片网站在线观看| 国产乱人伦偷精品视频不卡| 欧美成年人网站| 午夜国产一区二区三区| 99国产欧美久久久精品| 91久久精品视频| www.午夜激情| 日本午夜精品理论片a级appf发布| 久久久免费看片| 五月综合激情日本mⅴ| 无码专区aaaaaa免费视频| 亚洲精品亚洲人成人网在线播放| 精品一区二区国产| 亚洲精品视频专区| 欧美久久久久久久久久| 久久精品国产一区二区三区日韩| 美女精品一区| 亚洲欧美一区二区三区不卡| 亚洲国产精品影院| 日韩小视频在线播放| 国产激情91久久精品导航| 国产精品日韩欧美一区二区三区| 波多野结衣视频在线看| 欧美国产日韩视频| 亚洲欧美日韩精品永久在线| 亚洲专区国产精品| 久久久久久一区二区| 国产伦精品一区二区三毛| 韩国v欧美v日本v亚洲v| 91精品国产综合久久男男| 男人舔女人下部高潮全视频| 欧美调教femdomvk| 精品国产av无码| 国产亚洲欧美视频| 波多野结衣日韩| 欧美大片免费观看| 亚洲精品成人电影| 亚洲一区二区三区在线视频 | 一区二区三区四区不卡在线| 色欲色香天天天综合网www| 亚洲精品视频一区二区| 日本网站免费在线观看| 亚洲国产另类av| 国产男女在线观看| 黄色福利在线观看| 久久精品国产91精品亚洲| 国精品无码人妻一区二区三区| 手机av免费观看| 欧美一区二区精品在线| 国产亚洲精品久久久久久豆腐| 国产婷婷成人久久av免费高清| 免费麻豆国产一区二区三区四区| 麻豆国产精品va在线观看不卡| av资源免费看| 91嫩草视频在线观看| 久久综合一区二区| www.99在线| 亚洲精品videossex少妇| 国产精品午夜影院| 国产日韩精品一区观看| 亚洲国产精品精华液2区45| 欧美大尺度做爰床戏| 日韩一区二区在线看| 狠狠躁夜夜躁人人爽天天高潮| 日韩中文字幕亚洲| 北条麻妃在线观看视频| 亚洲精品第一国产综合精品| 日产欧产va高清| 国产无套精品一区二区| 亚洲精品mv在线观看| 久久99热狠狠色一区二区| 夜夜爽99久久国产综合精品女不卡| 一区二区三区 在线观看视频| 欧美性猛交xxx乱久交| 在线观看日韩电影| 在线观看日批视频| 国产91在线视频观看| 精品久久久久久久久久久久| 日韩成人毛片视频| 51国偷自产一区二区三区的来源| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美大片一区二区| 777777国产7777777| 色噜噜国产精品视频一区二区| 久久久久久久久精| 日韩亚洲视频在线| 国产精品999在线观看| 精品国产乱码久久久久久老虎 | 国产精品视频免费看| 动漫美女无遮挡免费| 欧美日韩国产123| 国产精品1区2区3区在线观看| 超碰人人草人人| 欧美日本亚洲视频| 国产高清久久久| 中日韩一级黄色片| 日本一区二区三区精品视频| 日韩一级片在线播放| 人人精品人人爱| 中出视频在线观看| 亚洲一区二区三区乱码aⅴ蜜桃女| 色婷婷av久久久久久久| 欧美黑人性猛交xxx| 成人精品视频99在线观看免费| 国产亚洲综合av| 好吊视频在线观看| 亚洲人久久久| 国产在线精品免费av| 国产综合av在线| 3344国产精品免费看| 狠狠干狠狠久久| 久久精品国产精品亚洲精品| 91制片厂在线| 日日碰狠狠添天天爽超碰97| 国产成人激情视频| 欧美一区二区三区在线观看 | 爱爱视频免费在线观看| 亚洲国产精品毛片| 欧美一级黑人aaaaaaa做受| 天天av天天翘天天综合网色鬼国产| 亚洲精华国产精华精华液网站| 在线观看一区二区三区四区| 欧美精品在线一区| 亚洲天堂av网| 国产精品久久久久久久久动漫| 美女100%露胸无遮挡| 国产日韩av在线| 欧美群妇大交群的观看方式| 国产乱色国产精品免费视频| jizz国产在线观看| 国产精品久久久久永久免费观看 | 亚洲成人av在线| 国产精品一区二区x88av| www.久久av| 91专区在线观看| 国产精品二区在线| 免费97视频在线精品国自产拍| 欧美性猛xxx| 成人av免费网站| 韩国中文字幕hd久久精品| 婷婷激情四射网| 在线能看的av网站| 亚洲精品一区二区毛豆| 国产精品高清在线观看| 777精品视频| 亚洲欧美韩国综合色| av观看在线免费| 黄色aaa级片| 日韩美女一区| 91久久久久久久久久久| 欧美激情手机在线视频| www.日本一区| 亚洲欧美日韩精品久久久| 国产91网红主播在线观看| 久久精品国产96久久久香蕉| 欧美日韩国产综合一区二区三区 | 免费成人深夜夜行网站| 亚洲欧美日韩三级| 国产91对白刺激露脸在线观看| 日韩电影天堂视频一区二区| 国产精品久久久久久av福利软件| 精品国产一区二区三区在线观看| 日韩欧美一级片| 欧美高清你懂得| 国产日韩欧美综合一区| 久久综合成人精品亚洲另类欧美 | 成人av资源站| 天天摸夜夜添狠狠添婷婷| 一级片一区二区三区| 国产精品青青草| 日韩欧美国产高清| 日韩欧美国产综合| 国产精品成人免费| 久久综合色婷婷| xf在线a精品一区二区视频网站| 黄网站免费久久| 天堂精品中文字幕在线| 香蕉av在线播放| 欧美一区二区在线观看视频| 久久精品国产亚洲av麻豆蜜芽| 国产专区第一页| 精品视频一二三区| 国产精品探花视频| 久久性色av| 天堂在线观看免费视频| 欧美一区二不卡视频| 国产精品女同一区二区| 成人午夜精品福利免费| 国产成人a级片| 寂寞少妇一区二区三区| 五月婷婷深深爱| 国产精品国产三级国产aⅴ| 99热精品在线播放| 久久午夜精品| 国产一区二区日韩精品| 国产成人免费在线观看不卡| 亚洲人xxxx| 日韩精品在线影院| 欧美精品久久久久久久久| 日本一区二区在线免费播放| 亚洲午夜精品久久久中文影院av| 亚洲国产一区二区三区在线播| 99九九99九九九99九他书对| 日本一级一片免费视频| 欧美性xxxx图片| 91超薄丝袜肉丝一区二区| 久久天堂av综合合色蜜桃网| 亚洲1区2区3区视频| 久久精品视频在线播放| 深夜福利成人| 国产色视频在线播放| 中文字幕 日韩有码| 亚洲欧美日韩小说| 久久久久久久激情视频| 国产二区视频在线| 五月婷婷六月丁香激情| 黄色片中文字幕| 日韩电影一区二区三区四区| 国产视频一区二区三区在线观看 | 国产真实乱人偷精品人妻| 久视频在线观看| 蜜臀av一区二区三区| 亚洲精品国产一区二区精华液 | 在线观看日本www| 999精品视频在线观看播放| 日韩中文字幕观看| 中文字幕在线观看不卡| 精品亚洲一区二区三区在线播放 | 欧洲精品毛片网站| 国产极品在线视频| 999精品在线视频| 黄色精品一二区| 亚洲一区影音先锋| 日韩视频免费在线观看| 日本在线视频不卡| 免费黄色在线视频| 午夜在线视频观看| 日韩欧美一区视频| 国产精品久久二区| 色网站在线视频| 欧美一级视频免费| 天天av天天翘天天综合网 | 亚洲天堂av一区二区三区| 亚洲国产av一区二区三区| 久久综合九色综合欧美亚洲| 精品av久久707| 日韩电影免费观看高清完整| 亚洲av无码一区二区三区人| 久久性天堂网| 亚洲精品一区二区三区福利 | 中文字幕丰满孑伦无码专区| 亚洲欧美综合一区二区| 在线观看视频欧美| 精品视频第一区| aaaaa一级片| 国产91色综合久久免费分享| 国产视频精品免费播放| 欧美在线一区视频| 五月婷婷六月婷婷| 欧美色视频日本高清在线观看| 久久久久久亚洲精品中文字幕| 真人bbbbbbbbb毛片| 亚洲免费一在线| 少妇人妻一区二区| 91看片淫黄大片91| 精品久久久久一区| 一区二区视频播放| 日韩经典在线视频| 综合色天天鬼久久鬼色| 超碰97人人射妻| 亚洲一级不卡视频| 国产又大又硬又粗| 欧美日韩国产中文字幕| 女人扒开屁股爽桶30分钟| 亚洲欧洲日产国码二区| 中文字幕日韩综合| 久久亚洲二区三区| 福利视频一区二区三区| 久久一区亚洲| 亚洲综合视频1区| 亚洲三级电影网站| 免费在线观看一级片| 久久夜色精品亚洲噜噜国产mv| 九九热最新视频| 国产不卡一区二区在线播放| 成人av在线资源| 一级在线免费视频| 韩国欧美国产1区| 久久99精品久久久久久久久久| 久久综合九色综合97婷婷 | 亚洲中文无码av在线| 久久精品国产精品亚洲精品色| 91精品在线一区二区| 日日夜夜精品视频免费| 老熟妇仑乱视频一区二区| 美女少妇精品视频| 91在线视频播放| 久久久久国产一区| 中文字幕亚洲国产| 久久精品无码av| 国产97在线亚洲| 免费成人在线网站| 99在线免费视频观看| 在线免费视频一区二区| 免费观看一区二区三区| 亚洲欧美第一页| 91久久精品无码一区二区| 国产激情一区二区三区在线观看 | 欧美日韩在线第一页| 国产一卡二卡在线播放| 狠狠色噜噜狠狠色综合久| 欧美视频一区二区在线观看| 波多野结衣亚洲色图| 日韩欧美一区二区三区在线| 伊人亚洲综合网| 青草视频在线观看视频| 欧美美女喷水视频| 无码人妻aⅴ一区二区三区 | 欧美一级免费片| 亚洲自拍小视频| 国产成人午夜高潮毛片| 手机在线视频你懂的| 一区二区三区欧美亚洲| 国产成人精品一区二区在线小狼| 日韩三级免费观看| 亚洲一区 视频| 欧美日韩国产成人高清视频| 国产成人99久久亚洲综合精品| 日本中文字幕高清| 欧美日韩亚洲丝袜制服| 国产又大又粗又爽的毛片| 国产一区二区三区久久精品| 中文字幕一区二区人妻| 成人黄色大片在线免费观看| 成人美女在线视频| 91视频福利网| 色综合色综合网色综合| 国产精品国产一区二区三区四区| 国产精品丝袜一区二区三区| 五月婷婷丁香花| 精品伦理一区二区三区| 亚洲三级视频在线观看| wwwxx日本| 久久九九国产精品怡红院| 俄罗斯嫩小性bbwbbw| 一区二区三区在线观看www| 亚洲欧美日韩系列| 天天视频天天爽| 精品99999| 国产精品久久影视| 免费在线观看91| 国产精品色哟哟网站| 激情网站五月天| 在线播放亚洲一区| 欧产日产国产69| 操人视频欧美| 亚洲视频香蕉人妖| 精产国品一二三区| 欧美一级免费视频|