go只提供型別而不用寫欄位名的方式,也就是匿名字段,也稱為嵌入字段。
當匿名欄位是乙個struct的時候,那麼這個struct所擁有的全部欄位都被隱式地引入了當前定義的這個struct。
舉個例子,看例項可以更具體化理解:
package mainimport
"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...