struct的匿名用法詳解

2021-09-09 02:47:34 字數 967 閱讀 4998

go只提供型別而不用寫欄位名的方式,也就是匿名字段,也稱為嵌入字段。

當匿名欄位是乙個struct的時候,那麼這個struct所擁有的全部欄位都被隱式地引入了當前定義的這個struct。

舉個例子,看例項可以更具體化理解:

package main

import

"fmt

"type person

struct

type student

struct

func main() , "

擒龍手"}//

初始化乙個學生

//訪問相應的字段

fmt.println("

名字是"

, mark.name)

fmt.println(

"年齡是

", mark.age)

fmt.println(

"體重是

", mark.weight)

fmt.println(

"技能是

", mark.speciality)

//修改對應的技能資訊

mark.speciality = "

降龍十八掌

"fmt.println(

"技能更新公升級")

fmt.println(

"新技能是

", mark.speciality)

//修改他的年齡資訊

mark.age = 36

fmt.println(

"現在的年齡是

", mark.age)

//修改他的體重資訊

mark.weight += 30

fmt.println(

"現在的體重是

", mark.weight)

}

通常struct定義的時候是欄位名與其型別一一對應,上面通過匿名引用的方式而無需宣告欄位名。

struct的匿名用法詳解

go只提供型別而不用寫欄位名的方式,也就是匿名字段,也稱為嵌入字段。當匿名欄位是乙個struct的時候,那麼這個struct所擁有的全部欄位都被隱式地引入了當前定義的這個struct。舉個例子,看例項可以更具體化理解 package main import fmt type person struc...

struct的用法和struct的對齊原則

struct在c語言中作為結構體。結構體定義 struct stu 使用 struct stu a 或者省略關鍵字struct stu a 也可以定義和使用同時 struct stu a 在後續使用中,出現結構體型別的地方都可以在前面加struct,用來提醒別人這個型別是自定義結構體 當然也可以省略...

Struct多型用法

struct多型用法 struct和class有很多相通之處,都是乙個資料型別的集合。struct也同樣可以實現class的多型用法。關鍵之處是指標的指向和位址的使用。include struct s1 struct s2 int main s1 s1 s2.ss1 s2 ps2 s2 s1 pri...