這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
一、概念
結構體是一種彙總的資料類型,是由零個或多個任意類型的值彙總成的實體。每個值稱為結構體的成員。
二、結構體聲明及使用
// 聲明結構體type Employee struct { ID int Name string}func main() { // 結構體執行個體化 emp := Employee{ID: 1, Name: "Frod"} // 匿名欄位執行個體化 emp2 := Employee{1, "Frod2"} fmt.Println(emp) fmt.Println(emp2)}
三、彙總結構
golang沒有繼承的概念, 推崇的是類彙總
type Address struct { Province string City string Detail string}type Employee struct { ID int Name string Address Address}func main() { emp := Employee{ ID: 1, Name: "Frod", Address: Address{ Province: "浙江省", City: "杭州市", Detail: "餘杭區倉前鎮", }, } fmt.Println(emp)}
四、匿名結構體
func main() { emp := struct { ID int Name string }{ ID: 1001, Name: "Frod", } fmt.Println(emp)}
五、結構方法
type Employee struct { ID int Name string}func main() { emp := Employee{1, "Frod"} fmt.Println(emp.getName())}func (this *Employee) getName() string { return this.Name}