博客
关于我
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/

你可能感兴趣的文章
Mysql 会导致锁表的语法
查看>>
mysql 使用sql文件恢复数据库
查看>>
mysql 修改默认字符集为utf8
查看>>
Mysql 共享锁
查看>>
MySQL 内核深度优化
查看>>
mysql 内连接、自然连接、外连接的区别
查看>>
mysql 写入慢优化
查看>>
mysql 分组统计SQL语句
查看>>
Mysql 分页
查看>>
Mysql 分页语句 Limit原理
查看>>
MySql 创建函数 Error Code : 1418
查看>>
MySQL 创建新用户及授予权限的完整流程
查看>>
mysql 创建表,不能包含关键字values 以及 表id自增问题
查看>>
mysql 删除日志文件详解
查看>>
mysql 判断表字段是否存在,然后修改
查看>>
MySQL 到底能不能放到 Docker 里跑?
查看>>
mysql 前缀索引 命令_11 | Mysql怎么给字符串字段加索引?
查看>>
MySQL 加锁处理分析
查看>>
mysql 协议的退出命令包及解析
查看>>
mysql 参数 innodb_flush_log_at_trx_commit
查看>>