package main
import "fmt"
// greeting function types
type greeting func(name string) string
func say(g greeting, n string)
func english(name string) string
func main()
輸出hello, world
package main
import "fmt"
// greeting function types
type greeting func(name string) string
func (g greeting) say(n string)
func english(name string) string
func main()
同樣輸出hello, world
,只是給greeting型別新增了say()
方法。上面說了,函式型別是表示所有包含相同引數和返回型別的函式集合。我們在一開始先把func(name string) string
這樣的函式宣告成greeting
型別,接著我們通過greeting(english)
將english
函式轉換成greeting
型別。通過這個轉換以後,我們就可以藉由變數g呼叫greeting
型別的say()
方法。
package main
import "fmt"
// greeting function types
type greeting func(name string) string
func (g greeting) say(n string)
func english(name string) string
func french(name string) string
func main()
輸出:hello, world
bonjour, world
**:
理解golang中關鍵字 chan select
channel直譯過來就是管道,chan關鍵字定義了goroutine中的管道通訊,乙個goroutine可以和另乙個goroutine進行通訊。chan的讀寫和定義如下 define a chan type variable var ch chan int make chan int,10 or ...
golang匯入包的理解
golang匯入包的理解 程式的初始化和執行都起始於main包。如果main包還匯入了其它的包,那麼就會在編譯時將它們依次匯入。有時乙個包會被多個包同時匯入,那麼它只會被匯入一次 例如很多包可能都會用到fmt包,但它只會被匯入一次,因為沒有必要匯入多次 當乙個包被匯入時,如果該包還匯入了其它的包,那...
該使用QTP的Action還是Function?
will roden在 actions vs functions in qtp 9.0 一文章歸納了qtp在action和function的使用上的一些區別 1 處理資料 actions只能接受有限的資料型別作為引數 string integer等 function可以接受array diction...