01-if语句
@
1. if
语法
- 语法
if 布尔表达式 {
/* 在布尔表达式为 true 时执行 */
}
- 语法示例
if 分数 < 60 {
return "不及格"
}
完整示例
- 代码
package main
import "fmt"
func main() {
成绩表 := make(map[string]int)
成绩表["关羽"] = 95
成绩表["张飞"] = 28
关羽查询结果 := 检查成绩(成绩表["关羽"])
fmt.Println("关羽的成绩结果:",关羽查询结果)
张飞查询结果 := 检查成绩(成绩表["张飞"])
fmt.Println("张飞的成绩结果:",张飞查询结果)
}
func 检查成绩(分数 int)(结果 string){
if 分数 < 60 {
return "不及格"
}
return "及格"
}
- 结果输出
关羽的成绩结果: 及格
张飞的成绩结果: 不及格
2. if……else……
语法
- 语法
if 布尔表达式 {
/* 在布尔表达式为 true 时执行 */
} else {
/* 在布尔表达式为 false 时执行 */
}
- 语法示例
if 分数 < 60 {
return "不及格"
}else {
return "及格"
}
完整示例
- 代码
package main
import "fmt"
func main() {
成绩表 := make(map[string]int)
成绩表["关羽"] = 95
成绩表["张飞"] = 28
关羽查询结果 := 检查成绩(成绩表["关羽"])
fmt.Println("关羽的成绩结果:",关羽查询结果)
张飞查询结果 := 检查成绩(成绩表["张飞"])
fmt.Println("张飞的成绩结果:",张飞查询结果)
}
func 检查成绩(分数 int)(结果 string){
if 分数 < 60 {
return "不及格"
}else {
return "及格"
}
}
- 执行结果
关羽的成绩结果: 及格
张飞的成绩结果: 不及格
3. 实际应用
3.1 错误处理
实际代码中,我我们用if来处理程序中的错误:如果err不为空就进行错误处理(如返回错误信息、打印错误日志等)。
if err := nil {
retrun err
}
3.2 判断map的key是否存在
- 语法示例
判断key是否在map中:如果存在,则ok为
true
,否则为false
。v
为该key
对应的值。
if v,ok := MapName[key];ok{
//key存在的操作
}else{
//key不存在的操作
}
- 完整示例
代码:
package main
import "fmt"
func main() {
查询成绩("关羽")
查询成绩("刘备")
}
func 查询成绩(姓名 string){
//定义成绩表map
成绩表 := make(map[string]int)
成绩表["关羽"] = 95
成绩表["张飞"] = 28
成绩表["赵云"] = 88
//查询key 是否在 map中
if 成绩,ok := 成绩表[姓名];ok {
fmt.Printf("%q 成绩:\t%d\n",姓名,成绩)
}else{
fmt.Printf("%q 成绩:\t未查询到\n",姓名)
}
}
结果
"关羽" 成绩: 95
"刘备" 成绩: 未查询到