在go中,是沒有類class的定義的,但是類似於class的是type
package main
import (
"fmt"
)
//定義乙個類
type person struct
//建構函式
func con(name string, age, tel int) *person
}
//方法
func (aaa person) fanfa()
//修改person中的name,但不就該原資料
func (aaa person) update_name(name string) person
//修改person中的name,也修改原資料
func (aaa *person) update(name string) person
func main()
//例項化類3
c := person
fmt.println(a, b, c)
//呼叫類中的方法
c.fanfa()
//修改現資料
fmt.println("這是現在的name:", c.update_name("狗兒"))
//修改原資料
c.update("二比")
fmt.println("這是原來的name:", c)
}
結果展示:
2.1包的邏輯關係圖
2.2利用entry.go呼叫tree包,實現對tree包下,node.go和node1.go的呼叫
node.go
package tree
//定義乙個類
type person struct
//修改person中的name,但不就該原資料
func (aaa person) update_name(name string) person
//修改person中的name,也修改原資料
func (aaa *person) update(name string) person
node1.go
package tree
import "fmt"
//建構函式
func con(name string, age, tel int) *person
}//方法
func (aaa person) fanfa()
entry.go
package main
import (
"../tree"
"fmt"
)func main()
//例項化類3
c := tree.person
fmt.println(a, b, c)
//呼叫類中的方法
c.fanfa()
//修改現資料
fmt.println("這是現在的name:", c.update_name("狗兒"))
//修改原資料
c.update("二比")
fmt.println("這是原來的name:", c)
}
通過執行entry.go實現呼叫tree,效果如下:
Go的學習旅程4 面向介面
因為go中沒有class,只有結構體和方法,所以不存在class的繼承與多型,但是我們可以通過inte ce來實現類似class的繼承 1.1專案位置關係圖 1.2各個檔案中的 queue.go package queue import fmt strconv 這裡有兩個方法體 type queue...
Go基礎學習 物件導向
作為一門物件導向的語言,必然少不了介面,go的介面叫做非侵入式,雖然不存在繼承的語法,但是有繼承的概念。如下,乙個connector介面,包含乙個connect 方法,乙個usb介面,包含了connector介面和乙個name 方法,然後兩個類phoneconnector和tvconnector分別...
go 物件導向
在前面博文我們有記錄函式與struct型別的使用,那你是否有想過把函式當做struct字段一樣來處理呢?接下來,將記錄一下函式的另一種形態,帶有接收者的函式,我們稱之為method,即方法 在物件導向程式設計中,乙個物件其實也就是乙個簡單的值或者乙個變數,在這個物件中會包含一些函式,這種帶有接收者的...