if-else语句
// if 语法 if 定义变量;条件 { }else if 条件{ }else{ } // 输入分数,打印 成绩等级
package main import "fmt" // if func main() { //1 接收用户输入 var score int = 0 fmt.Print("请输入分数:") fmt.Scan(&score) showLevel(score) } func showLevel(score int) { if score >= 90 && score <= 100 { fmt.Println("优秀") } else if score > 80 && score < 90 { fmt.Println("良好") } else if score >= 60 && score <= 80 { fmt.Println("及格") } else { fmt.Println("不及格") } } if res, ok := add(4, 5); ok { fmt.Println("计算结果是:", res) }
循环
# go 只有 for循环 -没有while -没有do while -但是通过for循环能实现 while循环 # 基本语法--》基于索引的循环 for 定义变量;条件;自增或自减{ } # 基于迭代的循环
package main import "fmt" // for func main() { // 1 基本使用--》打印0---9 //for i := 0; i < 10; i++ { // fmt.Println(i) //} // 2 省略第一部分,变量的定义--->i作用域范围更大 //i := 0 //for ; i < 10; i++ { // fmt.Println(i) //} // 3 省略第三部分,自增 //for i := 0; i < 10; { // fmt.Println(i) // i++ //} // 4 省略第一和第三部分 ---》只放条件---》俩分号可以省略---》等同于while循环 //i := 0 //for i < 10 { // fmt.Println(i) // i++ //} // 5 三部分全省略--》就是死循环 //for { // fmt.Println("死循环") //} // 6 break 和continue 跟所有语言都一样 // 7 基于迭代的循环====》容器类型:数组,切片,map //var a [3]int = [3]int{99, 88, 77} //for _, value := range a { // range python 内置函数---》go中是关键字 // //fmt.Println(index) // fmt.Println(value) //} // 循环字符 s := "lqz is handsome中" //for _, value := range s { // go 直接循环字符串,循环的是一个个字符 // //fmt.Println(index) // fmt.Printf("valaue的类型是:%T\n", value) // fmt.Println(string(value)) // int32--》rune //} // 循环字节--->len(字符串)---字节长度 for i := 0; i < len(s); i++ { fmt.Println(s[i]) fmt.Println(string(s[i])) } // python 循环字符串循环的是字符 // python 中循环字节---》把字符串先encode成 bytes格式--》循环bytes格式---》默认以16进制显示--》10进制,二进制 /* s='lqz is handsome中' s_b=s.encode('utf-8) for item in s_b: print(item) print(bin(item)) print(hex(item)) [ item for item in s.encode('utf-8)] */ }
switch语句
# switch 是关键字---》为了优雅的替换掉过多的if-else -python中没有switch关键字---》但是能实现switch的功能或语法 -java,go,c,js,都有switch关键字的支持 # 用户输入分数,打印成绩等级 package main import "fmt" func main() { var score int = 0 fmt.Print("请输入分数:") fmt.Scan(&score) // 1 用法1 ,基本使用 case中放一个相等值 //switch score { //case 88: // fmt.Println("是88") //case 99: // fmt.Println("是99") //default: // fmt.Println("不知道") //} // 1.1 基本使用,case中放多个相等值 //switch score { //case 88, 99, 77: // fmt.Println("是88") //case 55, 66, 44: // fmt.Println("是99") //default: // fmt.Println("不知道") //} // 2 用法2, case中放条件 showLevelSwitch(score) // 3 default 使用---》所有不符合执行它 // 4 fallthrough -->无条件执行下一个case } // 2 用法2, case中放条件 func showLevelSwitch(score int) { switch { case score >= 90 && score <= 100: fmt.Println("优秀") case score > 80 && score < 90: fmt.Println("良好") fallthrough case score >= 60 && score <= 80: fmt.Println("及格") fallthrough default: fmt.Println("不及格") } }
数组
# 数组是同一类型元素的集合。例如,整数集合 5,8,9,79,76 形成一个数组。 Go 语言中不允许混合不同类型的元素,例如包含字符串和整数的数组。(当然,如果是 interface{} 类型数组,可以包含任意类型) package main import "fmt" // 数组的定义和使用 func main() { //1 定义 //var a [3]int // 数组中的所有元素都被自动赋值为数组类型的零值 ////var a1 [4]string = [4]string{"lqz", "zhangsan"} // 内容可以小于,但不能大于 ////var a1 = [4]string{"lqz", "zhangsan"} // 内容可以小于,但不能大于 //a1 := [4]string{"lqz", "zhangsan"} // 内容可以小于,但不能大于 //fmt.Println(a) //fmt.Println(a1) //2 根据下标,使用---》改值,赋值 //a1[0] = "xxx" //a1[3] = "asfasd" //fmt.Println(a1) // 3 数组的大小是类型的一部分 //var a3 [3]int = [3]int{1, 2, 3} //var a4 [3]int = [3]int{1, 2, 4} //var a5 [4]int = [4]int{1, 2, 4} //fmt.Println(a3 == a4) //fmt.Println(a4 == a5) //addA(a3) //addA(a5) // 4 数组是值类型--->当参数传递到函数中,在函数中修改---》会不会影响原来的 //var a3 [3]int = [3]int{1, 2, 3} //changeA(a3) //fmt.Println("外部:", a3) // 5 数组的长度 内置函数len //fmt.Println(len(a3)) var a4 = [...]int{1, 2, 33, 4, 5, 6} // 数组长度由值个数决定 fmt.Println(len(a4)) // 6 使用 range 迭代数组 fori forr for i := 0; i < len(a4); i++ { fmt.Println(a4[i]) } for _, value := range a4 { fmt.Println(value) } // 7 多维数组 var a5 [5][2]int fmt.Println(a5) // [[0 0],[0 0],[],[],[]] a5[1][1] = 99 fmt.Println(a5) var a6 [5][2]int = [5][2]int{{11, 33}, {66, 77}} fmt.Println(a6) // 8 定义并赋值 var a7 [100]int = [100]int{98: 999} fmt.Println(a7) } func addA(a [3]int) (total int) { for _, value := range a { total += value } return } func changeA(a [3]int) { a[0] = 99 fmt.Println("内部", a) }
标签:int,fmt,var,else,---,Println,switch,score,Go From: https://www.cnblogs.com/wzh366/p/18112863