Go学习笔记二(判断语句)
2019-07-10 本文已影响1人
Jabir_Zhang
循环
Go 语⾔仅支持循环关键字 for
for i:= 0; i <= 10; i++
while 条件循环(while (n<5))
n := 0
for n < 5 {
n++
fmt.Println(n)
}
if 条件
用法还是比较常规
if condition {
// code to be executed if condition is true
} else {
// code to be executed if condition is false
}
if condition-1 {
// code to be executed if condition-1 is true
} else if condition-2 {
// code to be executed if condition-2 is true
} else {
// code to be executed if both condition1 and condition2 are false
{
if与其他主要编程语⾔的差异
- condition 表达式结果必须为布尔值
- ⽀持变量赋值:
if var declaration; condition {
// code to be executed if condition is true
}
//可以先赋值,在判断条件
if i := 10; i > 0 {
fmt.Println(n)
}
switch 条件
case后面不限制为常量或者整数,如下面代码可以为字符串
switch os := runtime.GOOS; os {
case "darwin":
fmt.Println("OS X.”)
case "linux":
fmt.Println("Linux.")
default:
fmt.Printf("%s.", os)
}
go语言中的case不用break来退出,多个条件相同操作的话在一个case中用逗号隔开。
switch i {
case 0:
fmt.Printf("0")
case 1:
fmt.Printf("1")
case 2:
fallthrough
case 3:
fmt.Printf("3")
case 4, 5, 6://多个条件用,隔开
fmt.Printf("4, 5, 6")
default:
fmt.Printf("0")
}
switch也可以类似if语句的用法
switch {
case 0 <= Num && Num <= 3:
fmt.Printf("0-3")
case 4 <= Num && Num <= 6:
fmt.Printf("4-6")
case 7 <= Num && Num <= 9:
fmt.Printf("7-9")
}
switch与其他主要编程语⾔言的差异
- 条件表达式不限制为常量或者整数;
- 单个 case 中,可以出现多个结果选项, 使用逗号分隔;
- 与 C 语言等规则相反,Go 语⾔不需要用break来明确退出一个 case;
- 可以不设定 switch 之后的条件表达式,在此种情况下,整个 switch 结构与多个 if...else... 的逻辑作用等同