博客
关于我
go的双分支控制
阅读量:173 次
发布时间:2019-02-28

本文共 2295 字,大约阅读时间需要 7 分钟。

Go语言基础教程

一 基本语法

条件判断

在Go语言中,条件判断的语法结构如下:

if 条件表达式 {    执行代码块1} else {    执行代码块2}
  • 条件表达式:用来判断是否满足某个条件的表达式。
  • 执行代码块1:当条件表达式成立时执行。
  • 执行代码块2:当条件表达式不成立时执行。
  • {}:是必须的,表示代码块的开始和结束。

说明

当条件表达式成立时,程序会执行代码块1;否则,程序会执行代码块2。双分支结构只能执行其中一个代码块。


二 实战

1. Requirements

编写一个程序,输入人的年龄。如果年龄大于18岁,输出“你年龄大于18,需要对自己的行为负责!”;否则,输出“你的年龄不大这次放过你了。”

2. Code

package mainimport (    "fmt")func main() {    var age int    fmt.Println("请输入年龄:")    fmt.Scanln(&age)    if age > 18 {        fmt.Println("你年龄大于18~....")    } else {        fmt.Println("你的年龄不大这次放过你了")    }}

3. 测试结果

  • 输入年龄:19
  • 输出:你年龄大于18~....

三 双分支的流程图及分析总结

1. 流程图

从流程图中可以看出,条件表达式是 age > 18。程序会根据条件判断的结果执行相应的代码块:

  • 执行代码块1:输出“你年龄大于18~....”。
  • 执行代码块2:输出“你的年龄不大这次放过你了”。

2. 双分支的总结

  • 条件表达式age > 18
  • 代码块1:执行 fmt.Println("你的年龄大于18")
  • 代码块2:执行 fmt.Println("你的年龄不大....")
  • 特点:双分支只会执行其中一个分支。

四 单分支和双分支的案例

1. 代码测试

package mainimport "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 mainimport "fmt"func main() {    var x int = 4    if x > 2 {        fmt.Println("ok")    } else {        fmt.Println("hello")    }}
  • 编译错误:原因是 else 不能换行。

3. 代码测试

package mainimport "fmt"func main() {    var x int = 4    if x > 2 {        fmt.Println("ok")    } else {        fmt.Println("hello")    }}
  • 测试结果:ok
  • 编译错误:原因是没有 {}

4. 代码测试

package mainimport "fmt"func main() {    var x int = 4    if x > 2 {        fmt.Println("ok")    } else {        fmt.Println("hello")    }}
  • 测试结果:ok
  • 说明:虽然正确,但要求写成 if x > 2

5. 编写程序

package mainimport "fmt"func main() {    var n1 int32 = 10    var n2 int32 = 50    if n1 + n2 >= 50 {        fmt.Println("hello,world")    }}
  • 测试结果:hello,world

6. 编写程序

package mainimport "fmt"func main() {    var n3 float64 = 11.0    var n4 float64 = 17.0    if n3 > 10.0 && n4 < 20.0 {        fmt.Println("和=", (n3 + n4))    }}
  • 测试结果:和= 28

7. 编写程序

package mainimport "fmt"func main() {    var num1 int32 = 10    var num2 int32 = 5    if (num1 + num2) % 3 == 0 && (num1 + num2) % 5 == 0 {        fmt.Println("能被3又能被5整除")    }}
  • 测试结果:能被3又能被5整除

8. 编写程序

package mainimport "fmt"func main() {    var year int = 2020    if (year % 4 == 0 && year % 100 != 0) || year % 400 == 0 {        fmt.Println(year, "是闰年~")    }}
  • 测试结果:2020 是闰年~

转载地址:http://ofhj.baihongyu.com/

你可能感兴趣的文章
MyEclipse更改项目名web发布名字不改问题
查看>>
MyEclipse用(JDBC)连接SQL出现的问题~
查看>>
mt-datetime-picker type="date" 时间格式 bug
查看>>
myeclipse的新建severlet不见解决方法
查看>>
MyEclipse设置当前行背景颜色、选中单词前景色、背景色
查看>>
Mtab书签导航程序 LinkStore/getIcon SQL注入漏洞复现
查看>>
myeclipse配置springmvc教程
查看>>
MyEclipse配置SVN
查看>>
MTCNN 人脸检测
查看>>
MyEcplise中SpringBoot怎样定制启动banner?
查看>>
MyPython
查看>>
MTD技术介绍
查看>>
MySQL
查看>>
MySQL
查看>>
mysql
查看>>
MTK Android 如何获取系统权限
查看>>
MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况、SQL 优化
查看>>
MySQL - ERROR 1406
查看>>
mysql - 视图
查看>>
MySQL - 解读MySQL事务与锁机制
查看>>