Go语言基础(简便总结特别注意的地方)
1. if else(分支结构)
if 条件判断的几种写法
//第一种
score := 90
if score >= 90{
fmt.Println('A')
}else if score >=70{
fmt.Println("B")
}else{
...
}
//第二种
if score := 65; score >= 90 {
fmt.Println("A")
} else if score > 75 {
fmt.Println("B")
} else {
fmt.Println("C")
}
2. for(循环语句)
for 初始语句;条件表达式;结束语句{
循环体语句
}
//第一种写法
for i := 0; i < 10; i++{
循环体
}
//第二种写法
i := 0
for i < 10; i++{
循环体
}
//第三种写法
i := 0
for i < 10{
循环体
i++
}
//第四种写法(无限循环)
for{
循环体语句
}
3. for range
- 数组、切片、字符串返回索引和值。
- map返回键和值。
- 通道(channel)只返回通道内的值。
for range的写法
for key,value := range 要遍历的类型{
}
4. switch case
switch的几种写法
//第一种
finger := 3
switch finger{
case 1 :
fmt.Println("1")
case 2 :
...
case 3 :
...
default:
...
}
//第二种
switch n := 7; n{
case 1,2,3,4 : {
fmt.Println("")
case 4,5,6,7 :
...
defaiult :
...
}
//第三种(可以使用条件表达式)
case age > 25 && age < 35:
//fallthrough语法可以执行满足条件的case的下一个case,是为了兼容C语言中的case设计的。
s := "a"
case s == "a":
fmt.Println("a")
fallthrough
case s == "b":
fmt.Println("b") //输出a,b
跳转语句
//goto
func gotoDemo2() {
for i := 0; i < 10; i++ {
for j := 0; j < 10; j++ {
if j == 2 {
// 设置退出标签
goto breakTag
}
fmt.Printf("%v-%v\n", i, j)
}
}
return
// 标签
breakTag:
fmt.Println("结束for循环")
}
- break语句可以结束for、switch和select的代码块。
- continue语句可以结束当前循环,开始下一次的循环迭代过程,仅限在for循环内使用。