當進行業務邏輯開發的時候,經常要進行封裝,封裝成獨立的類檔案,在類檔案的屬性中預留出函式型別的API
在呼叫該類檔案中某些方法的時候,也根據業務需要呼叫類屬性中的函式,
在主業務中可以傳遞特定的函式注冊到屬性中,也會被呼叫到
test.php
package mainimport "log"func main() { c := NewConn(callback, callback2) c.Start()}//在當前模塊定義的回呼函式func callback() { log.Println("i am callback")}func callback2(name string) string { log.Println("i am callback2 ", name) return "hello"}
connection.go是封裝的類檔案,回呼類主模塊中的函式
package maintype Connection struct{ handleFunc func() handleFunc2 func(name string)string}//把被回呼函式注冊進了封裝類的屬性中func NewConn(callback func(),callback2 func(name string)string) *Connection{ c:=&Connection{ handleFunc: callback, handleFunc2: callback2, } return c}//在進行某些業務時也把回呼函式執行了func (c *Connection)Start(){ c.handleFunc() c.handleFunc2("taoshihan")}

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/55014.html
標籤:Go
上一篇:求哥哥們幫幫我
下一篇:這個dll的函式應該怎么呼叫?
