1. 程式人生 > 其它 >【Go 語言社群】go 學習中遇到一些語法問題

【Go 語言社群】go 學習中遇到一些語法問題

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<-是隻接收