func main()
s1 := arr[:]
s2 := arr[1:]
s3 := arr[:3]
s4 := arr[1:3]
s5 := make(int, 3, 5)
printslice(s1) //5 5 [1 2 3 4 5]
printslice(s2) //4 4 [2 3 4 5]
printslice(s3) //3 5 [1 2 3]
printslice(s4) //2 4 [2 3]
printslice(s5) //3 5 [0 0 0]
}func printslice(s int)
分析:若arr[i:j],len(s)的值就是j-i,cap(s)的值就是len(arr)-i;若arr[:j],len(s)的值就是j-1,cap(s)的值就是len(arr);若arr[i:],len(s)的值就是len(arr)-i,cap(s)的值就是len(arr)-i;若arr[:],len(s)的值就是len(arr),cap(s)的值就是len(arr)
func main() }}
func printslice(s int)
func main() 初始化
var countmap map[string]string = make(map[string]string)
countmap["france"] = "法國"
countmap["china"] = "中國"
countmap["japan"] = "日本"
for country := range countmap
var a string
var ok bool
a, ok = countmap["china"]
fmt.println(a, ok)
delete(countmap, "china")
a, ok = countmap["china"]
fmt.println(a, ok)
}
分析:range遍歷map集合,delete根據key刪除value值
func main()
type fruit inte***ce
name string
} return a.name
} a.name = name
}func main()
分析:如果想要通過介面方法修改屬性,需要在傳入指標的結構體才行
func main()
分析:panic在任何地方都可以執行,用於丟擲異常,若異常**獲,那後續的**就可以執行;若異常不**獲,那後續的**就不執行
func f2()
}()fmt.println("f2")
panic("發生異常")
}func main()
分析:recover只能在defer語句中使用, 直接呼叫recover是無效的.recover()方法有乙個返回值,如果recover()捕獲到panic,則返回panic物件,否則返回nil
func f() ()
defer func() ()
}func main()
分析:defer執行的順序是倒序的,可以理解為先存入棧中,等到出現panic異常或者執行到函式結尾時,從棧頂彈出,且defer只有寫在panic的前面才能捕獲異常 golang入門例項分析 三
func main for i 0 i 5 i func main for i 0 i 2 i fmt.println func main bb b fmt.println b c int cc c fmt.println c func bb b 5 int func cc c int 分析 陣列作...
golang入門學習
全文來自how to write go code 自己跟著寫了一遍,並記錄了其中的過程。go官方文件 go的github位址 go命令文件位址 一,建立go.mod 寫完後,安裝構建go語言 go install example.com user hello構建的程式在 home go bin 這個...
40個flutter入門例項詳解 四
17.表單 class formtestroute extends statefulwidget class formtestroutestate extends state textformfield controller pwdcontroller,decoration inputdecorat...