【Go 語言社群】go 學習中遇到一些語法問題
阿新 • • 發佈:2022-05-04
1.可變引數,傳入陣列的餓時候,必須加三個... func sums(nums ...int){} nums := []int{1, 2, 3, 4, 5} sums(nums...) 2.如果帶有返回值的func 一定要在後面指定返回值型別 func plus(a int, b int) int { return a + b } 3.在使用閉包的時候,函式名,返回值則是以func() 返回值 格式宣告 func intSeq() func() int { i := 0 return func() int { i += 1 return i } } 4. 在go中,*標示一個指標,&標示指向某變數 *ptr i := &ptr 5.在go中使用方法,比較有意思的地方,感覺就是注入的(yy) type User struct{ name } func (u *User ) getName string{ return u.name } func main(){ u := user{name:"zhangsan"} fmt.Println(u.getName) } 6.在go中使用go 進行這種自執行(第一次正確的執行了,以後就沒成功過。) go func(msg string) { fmt.Println(msg) }("going") 7.在go中使用channel 要使用go 關鍵字,make 只能適用於slice,map,channel 8. <-chan 是準備接收發送的值,chan<-是隻接收