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

你可能感兴趣的文章
mysql5.7示例数据库_Linux MySQL5.7多实例数据库配置
查看>>
Mysql8 数据库安装及主从配置 | Spring Cloud 2
查看>>
mysql8 配置文件配置group 问题 sql语句group不能使用报错解决 mysql8.X版本的my.cnf配置文件 my.cnf文件 能够使用的my.cnf配置文件
查看>>
MySQL8.0.29启动报错Different lower_case_table_names settings for server (‘0‘) and data dictionary (‘1‘)
查看>>
MYSQL8.0以上忘记root密码
查看>>
Mysql8.0以上重置初始密码的方法
查看>>
mysql8.0新特性-自增变量的持久化
查看>>
Mysql8.0注意url变更写法
查看>>
Mysql8.0的特性
查看>>
MySQL8修改密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
查看>>
MySQL8修改密码的方法
查看>>
Mysql8在Centos上安装后忘记root密码如何重新设置
查看>>
Mysql8在Windows上离线安装时忘记root密码
查看>>
MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
查看>>
mysql8的安装与卸载
查看>>
MySQL8,体验不一样的安装方式!
查看>>
MySQL: Host '127.0.0.1' is not allowed to connect to this MySQL server
查看>>
Mysql: 对换(替换)两条记录的同一个字段值
查看>>
mysql:Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘解决方法
查看>>
MYSQL:基础——3N范式的表结构设计
查看>>