這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
// second//以下代碼不可以直接使用,go語言中凡是聲明過的變數都要使用,否則會報錯//以下代碼只是go語言基礎總結,包括了從變數聲明到switch分支package mainimport ("fmt")//聲明常量const (i = 0s string = "Test"Start string = "go語言開始" //首字母大寫的變數是公有的(待驗證))//聲明一組全域變數var (k ints2 stringflag bool)//枚舉類型iota關鍵字,預設是0,每次自動成長1const (p1 = iota //p1=0p2 = iota //p2=1p3 //p3=2p4 //p4=3)func testMap() {var mp map[string]int //聲明一個mapmp2 := make(map[string]int) //map的另一種聲明方式mp2["one"] = 1mp2["two"] = 2 //給map賦值fmt.Println(mp2["two"]) //將key two對應的值列印出來//map是無序的,每次列印都不一樣,只能通過key擷取。內建方法len返回map的key的數量mp2["one"] = 10 //將one 對應的值改為10m3 := mp2m3["two"] = 4 //此時mp2的mp2["two"]變為4delete(mp2, "one") //刪除key為one的元素rating := map[string]int{"1": 2, "2": 3} //初始化一個字典}//goto語句func testGoto() {i := 0Here: //聲明一個跳轉標籤fmt.Println(i)if i < 10 {i++goto Here //跳轉到標籤處}}//for語句func testFor() {var s [10]intfor j := 0; j < len(s); j++ {s[j] = j //數組負責}for j := 0; j < len(s); j++ {fmt.Println(s[j]) //列印出數組的每一個值}//for+if語句for i := 0; i < 100; i++ {if i%3 == 0 && i%5 != 0 {fmt.Println("Fizz")} else if i%5 == 0 && i%3 != 0 {fmt.Println("Bizz")} else if i%15 == 0 {fmt.Println("FizzBizz")} else {fmt.Println(i)}}//列印出金字塔形的Afor i := 1; i <= 100; i++ {for j := 1; j <= i; j++ {fmt.Printf("%s", "A")}fmt.Println()}}//遍曆mapfunc eachMap() {mp2 := make(map[string]int) //map的另一種聲明方式mp2["one"] = 1mp2["two"] = 2for k, v := range mp2 {fmt.Println("key:", k)fmt.Println("val:", v)}//只輸出map的值for _, v := range mp2 {fmt.Println("val:", v)}}//switch語句func testSwitch() {index := 4switch index {case 4:fmt.Println("hello 4")fallthrough //強制執行後面的語句case 5:fmt.Println("hello 5")default:fmt.Println("繼續測試")}}//首字母大寫的方法是公用方法,func Test() {var arr [10]int //聲明一個長度為10的整形數組arr[0] = 10 //賦值arr[1] = 20arr2 := [3]int{1, 2, 3} //聲明一個長度為3的整形數組並賦值arr3 := [...]int{2, 3, 4} //動態聲明一個數組doubleArray := [2][2]int{[2]int{1, 2}, [2]int{3, 4}} //聲明一個二維數組easyDouble := [2][2]int{{1, 2}, {2, 3}} //二維數組的另一種聲明方式,內外類型一致var fslice []int //聲明一個切片,和數組相比去掉了長度sslice := []byte{1, 2, 3, 4} //聲明並初始化一個切片tslice := arr2[0:2] //切片包含數組arr2中的arr[0],arr[1],切片聲明arr[n:m],包含的元素為從arr[n到arr[m-1]fmt.Println("測試")}//首字母小寫方法是私人方法func test() {fmt.Println("測試")}