go 語言 struct 另類建構函式 繼承

2022-08-24 07:57:08 字數 698 閱讀 2048

1. go 中struct 沒有建構函式,但是可以使用另一種方式來構造。

type school struct 

func newschool(name, addr string) *school

}func testnewschool()

func main()

//執行結果

2.匿名函式實現繼承

type people struct

type student struct

func test1()

//執行結果

main.student}

上面可以看出s相當於繼承了people的 name 和age屬性

如果student有name和age屬性呢?

type people struct

type student struct

func test1()

//執行結果

main.student}

從上面輸出結果可以看出,自己的屬性覆蓋了繼承的屬性,如果給匿名字段屬性賦值呢?

type people struct

type student struct

func test1()

//執行結果:

main.student}

Go語言struct型別介紹

struct 我們可以宣告新的型別,作為其它型別的屬性或字段容器。如,建立乙個自定義型別person代表乙個人的實體。這個實體擁有屬性 姓名 年齡。這樣的型別我們稱之為struct。複製 如下 type person struct 複製 如下 var p person p 現在就是 person 型...

Go語言struct型別詳解

struct go語言中,也和c或者其他語言一樣,我們可以宣告新的型別,作為其它型別的屬性或字段的容器。例如,我們可以建立乙個自定義型別person代表乙個人的實體。這個實體擁有屬性 姓名和年齡。這樣的型別我們稱之struct。如下 所示 複製 如下 type person struct 看到了嗎?...

Go語言中struct的匿名屬性特徵

go語言中struct的屬性可以沒有名字而只有型別,使用時型別即為屬性名。因此,乙個struct中同乙個型別的匿名屬性只能有乙個 type personc struct 匿名屬性 type worker struct func structtest0404 w.id 201 w.name smith...