一 基本语法
if 条件表达式{
执行代码块1
} else {
执行代码块2
}
说明:当条件表达式成立,即执行代码块1,否则执行代码块2。{}也是必须的。
二 实战
1 要求
编写一个程序,可以输入人的年龄, 如果该同志的年龄大于 18 岁,则输出“你年龄大于 18,要对自己的行为负责!”。否则 ,输出"你的年龄不大这次放过你了."
2 代码
package main
import (
"fmt"
)
func main() {
// 代码
var age int
fmt.Println("请输入年龄:")
fmt.Scanln(&age)
if age > 18 {
fmt.Println("你年龄大于18~....")
} else {
fmt.Println("你的年龄不大这次放过你了")
}
}
3 测试
请输入年龄:
19
你年龄大于18~....
三 双分支的流程图以及分析总结
1 流程图

2 对双分支的总结
a 从上图看,条件表达式就是 age >18。
b 执行代码块 1 执行 fmt.Println("你的年龄大于 18")
c 执行代码块 2 执行 fmt.Println("你的年龄不大....")
d 强调一下,双分支只会执行其中的一个分支。
四 单分支和双分支的案例
1 对下面代码,若有输出,指出输出结果。
package main
import "fmt"
func main() {
var x int = 4
var y int = 1
if x > 2 {
if y > 2 {
fmt.Println(x + y)
}
fmt.Println("hello")
} else {
fmt.Println("x is ", x)
}
}
测试结果
hello
2 对下面代码,若有输出,指出输出结果。
package main
import "fmt"
func main() {
var x int = 4
if x > 2 {
fmt.Println("ok")
}
else {
fmt.Println("hello")
}
}
测试结果
编译错误,原因是 else 不能换行。
3 对下面代码,若有输出,指出输出结果。
package main
import "fmt"
func main() {
var x int = 4
if x > 2
fmt.Println("ok")
else
fmt.Println("hello")
}
测试结果
编译错误,原因是没有 {}。
4 对下面代码,若有输出,指出输出结果。
package main
import "fmt"
func main() {
var x int = 4
if x > 2 {
fmt.Println("ok")
} else {
fmt.Println("hello")
}
}
测试结果
ok
虽然正确,但是要求写成 if x > 2
5 编写程序,声明 2 个 int32 型变量并赋值。判断两数之和,如果大于等于 50,打印"hello world!"
6 编写程序,声明 2 个 float64 型变量并赋值。判断第一个数大于 10.0,且第 2 个数小于 20.0,打印两数之和。
7 定义两个变量 int32,判断二者的和,是否能被 3 又能被 5 整除,打印提示信息。
8 判断一个年份是否是闰年,闰年的条件是符合下面二者之一:(1)年份能被 4 整除,但不能被 100整除;(2)能被 400 整除。
代码
package main
import (
"fmt"
)
func main() {
fmt.Println("====================第五题================================")
// 编写程序,声明2个int32型变量并赋值。判断两数之和,如果大于等于50,打印“hello world!”
var n1 int32 = 10
var n2 int32 = 50
if n1+n2 >= 50 {
fmt.Println("hello,world")
}
fmt.Println("====================第六题================================")
// 编写程序,声明2个float64型变量并赋值。判断第一个数大于10.0, 且第2个数小于20.0,打印两数之和
var n3 float64 = 11.0
var n4 float64 = 17.0
if n3 > 10.0 && n4 < 20.0 {
fmt.Println("和=", (n3 + n4))
}
fmt.Println("====================第七题================================")
// 定义两个变量int32,判断二者的和,是否能被3又能被5整除,打印提示信息
var num1 int32 = 10
var num2 int32 = 5
if (num1+num2)%3 == 0 && (num1+num2)%5 == 0 {
fmt.Println("能被3又能被5整除")
}
fmt.Println("====================第八题================================")
// 判断一个年份是否是闰年,闰年的条件是符合下面二者之一:
// (1)年份能被4整除,但不能被100整除;(2)能被400整除
var year int = 2020
if (year%4 == 0 && year%100 != 0) || year%400 == 0 {
fmt.Println(year, "是闰年~")
}
}
测试结果
====================第五题================================
hello,world
====================第六题================================
和= 28
====================第七题================================
能被3又能被5整除
====================第八题================================
2020 是闰年~
本文介绍了Go语言中的条件判断语句`if`的使用,包括基本语法、实战示例和双分支流程图分析。通过编写程序判断年龄、数值比较等,展示了如何根据条件执行不同代码块。同时,文章还提供了多个代码测试案例,涵盖了单分支、双分支的错误用法及正确实现,并给出了相关程序设计练习,涉及整数和浮点数的加法、整除判断以及闰年检查等实际问题。
3875

被折叠的 条评论
为什么被折叠?



