if语句
if 布尔表达式 {
//当布尔表达式为真的时候,执行括号里面的语句
}
a :=18
b :=19
if a > b {
fmt.Println("a大于b")
}
/** 整个语句的意思就是 当a大于b的时候输出一句话"a大于b" */
if 布尔表达式 {
//当布尔表达式为真的时候,执行括号里面的语句
}else{
//当布尔表达式为假的时候,执行这个括号里面的语句
}
a :=18
b :=19
if a > b {
fmt.Println("a大于b")
} else {
fmt.Println("a小于b")
}
/** 整个语句的意思就是 当a大于b的时候输出一句话" a大于b " 否则输出 "a小于b" */
if 布尔表达式1 {
//当布尔表达式1成立 进入这里面
}else if 布尔表达式2 {
//当布尔表达式2成立 进入这里面
}else {
//如果 布尔表达式1 与 布尔表达式2 都不成立 则进入这里
}
a :=18
b :=19
if a > b {
fmt.Println("a大于b")
}else if a > c {
fmt.Println("a大于c")
}else {
fmt.Println("空我")
}
/** 整句话的意思就是 a如果大于b则输出 a大于b,如果 a大于c 则输出 a大于c ,如果 a既不大于b 也不大于c 则 输出空我 */
switch语句
switch 语句的语法(一):
a := 1
switch {
case a == v1:
//当a 为 v1 时候执行这个里面的内容
case a==v2:
.//当a 为 v2 时候执行这个里面的内容
default:
//当a 既不为 v1 也不为v2 时候执行这个里面的内容
}
grade :="s"
switch {
case grade =="sss":
fmt.Println("恭喜抽到sss卡")
case grade =="s":
fmt.Println("恭喜抽到s卡")
case grade =="A":
fmt.Println("恭喜抽到A级卡")
case grade =="B":
fmt.Println("恭喜抽到B级卡")
}
switch 语句的语法(二):
switch val {
case val1:
//当 val 为val1的时候 执行这里的内容
case val2:
//当 val 为val2的时候 执行这里的内容
default:
//当 val 既不为val1 也不为val2的时候 执行这里的内容
}
grade :="A"
switch grade {
case "sss":
fmt.Println("恭喜抽到sss卡")
case "s":
fmt.Println("恭喜抽到s卡")
case "A":
fmt.Println("恭喜抽到A级卡")
case "B":
fmt.Println("恭喜抽到B级卡")
default:
fmt.Println("充点钱 继续抽")
}
switch - fallthrough
使用 fallthrough关键字会强制执行后面的 case 语句,fallthrough 不会判断下一条 case 的表达式是否成立
像这样:
grade :="A"
switch grade {
case "sss":
fmt.Println("恭喜抽到sss卡")
fallthrough
case "s":
fmt.Println("恭喜抽到s卡")
default:
fmt.Println("充点钱 继续抽")
}
/** 不加fallthrough 只会输出:恭喜抽到sss卡 加了fallthrough 会输出:恭喜抽到sss卡 恭喜抽到s卡 **/
switch 也支持多个条件一起匹配 如下:
grade := "s"
switch grade {
case "sss","s","A":
fmt.Println("恭喜抽到比较好的卡咯")
default:
fmt.Println("充点钱 成为心悦会员 继续抽")
}
只要 grade 符合 "sss","s","A" 中一样 就会输出:恭喜抽到比较好的卡咯