// second //以下代码不可以直接使用,go语言中凡是声明过的变量都要使用,否则会报错 //以下代码只是go语言基础总结,包括了从变量声明到switch分支 package main import ( "fmt" ) //声明常量 const ( i = 0 s string = "Test" Start string = "go语言开始" //首字母大写的变量是公有的(待验证) ) //声明一组全局变量 var ( k int s2 string flag bool ) //枚举类型iota关键字,默认是0,每次自动增长1 const ( p1 = iota //p1=0 p2 = iota //p2=1 p3 //p3=2 p4 //p4=3 ) func testMap() { var mp map[string]int //声明一个map mp2 := make(map[string]int) //map的另一种声明方式 mp2["one"] = 1 mp2["two"] = 2 //给map赋值 fmt.Println(mp2["two"]) //将key two对应的值打印出来 //map是无序的,每次打印都不一样,只能通过key获取。内置方法len返回map的key的数量 mp2["one"] = 10 //将one 对应的值改为10 m3 := mp2 m3["two"] = 4 //此时mp2的mp2["two"]变为4 delete(mp2, "one") //删除key为one的元素 rating := map[string]int{"1": 2, "2": 3} //初始化一个字典 } //goto语句 func testGoto() { i := 0 Here: //声明一个跳转标签 fmt.Println(i) if i < 10 { i++ goto Here //跳转到标签处 } } //for语句 func testFor() { var s [10]int for 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) } } //打印出金字塔形的A for i := 1; i <= 100; i++ { for j := 1; j <= i; j++ { fmt.Printf("%s", "A") } fmt.Println() } } //遍历map func eachMap() { mp2 := make(map[string]int) //map的另一种声明方式 mp2["one"] = 1 mp2["two"] = 2 for 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 := 4 switch 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] = 20 arr2 := [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("测试") }
有疑问加站长微信联系(非本文作者)