go語言基礎總結

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
// 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("測試")}

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.