当前位置: 首页 > article >正文

GoLang教程004:流程控制和if语句介绍

文章目录

  • 3、流程控制
    • 3.1 流程控制的作用
    • 3.2 控制语句的分类
    • 3.3 if分支
      • 3.3.1 单分支
      • 3.3.2 多分支
      • 3.3.3 双分支

3、流程控制

3.1 流程控制的作用

流程控制的作用:流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。

3.2 控制语句的分类

控制语句分为三类:顺序、选择和循环。

  • 顺序结构

    • 先执行a,再执行b的逻辑
    • 在这里插入图片描述
  • 条件判断

    • 如果…,则…的逻辑
    • 在这里插入图片描述
  • 循环结构

    • 如果…,则再继续…的逻辑
    • 在这里插入图片描述

3.3 if分支

3.3.1 单分支

基本语法:

if 条件 {
    // 执行语句
}

代码解释:

  • 当条件表达式为true时,就会执行的代码。
  • 条件表达式左右的()可以不写,也建议不写
  • if和表达式中间,一定要有空格。
  • 在GoLang中,{}是必须有的,就算只有一行代码。

代码练习:

package main

import "fmt"

func main() {
	//需求:如果羽毛球的剩余数量小于5个,就提示"今晚打球,球可能不够了.".
	var count int = 3
	// 单分支
	if count < 5 {
		fmt.Println("今晚打球,球可能不够了.")
	}
}

上述的代码也可以简写为,因为在golang中,if后面可以并列加入变量的定义。

if count := 3; count < 5 {
    fmt.Println("今晚打球,球可能不够了.")
}

打印结果:

在这里插入图片描述

3.3.2 多分支

基本语法:

if 条件表达式 {
    逻辑代码1
} else {
    逻辑代码2
} else {
    逻辑代码
} ...

案例:根据学生分数,判断学生等级。

  • >=90:A
  • >=80:B
  • >=70:C
  • >=60:D
  • <60:E

代码:

package main

import "fmt"

func main() {
	var score int = 66

	if score >= 90 {
		fmt.Println("您的分数等级是A.")
	} else if score >= 80 {
		fmt.Println("您的分数等级是B.")
	} else if score >= 70 {
		fmt.Println("您的分数等级是C.")
	} else if score >= 60 {
		fmt.Println("您的分数等级是D.")
	} else {
		fmt.Println("您的分数等级是E.")
	}
}

3.3.3 双分支

基本语法:

if 条件表达式 {
    逻辑代码1
} else {
    逻辑代码2
}

当条件表达式成立,即执行逻辑代码1,否则执行逻辑代码2.{}也是必须有的。

代码练习:

package main

import "fmt"

func main() {
	var count int = 5
	if count < 3 {
		fmt.Println("球不够了.")
	} else {
		fmt.Println("球还够,放心打")
	}
}

http://www.kler.cn/a/506074.html

相关文章:

  • NSIS 创建一键安装程序
  • Java中对list数据进行手动分页(可直接复用版)
  • react中hooks之useEffect 用法总结
  • 使用Flink-JDBC将数据同步到Doris
  • uniapp 小程序 textarea 层级穿透,聚焦光标位置错误怎么办?
  • 小游戏前端地区获取
  • 微信小程序在使用页面栈保存页面信息时,如何避免数据丢失?
  • C#局部函数 VS Lambda表达式
  • LLMs之RAG:《EdgeRAG: Online-Indexed RAG for Edge Devices》翻译与解读
  • 使用 JUnit 和 SuiteRunner 测试私有方法
  • AI辅助编程:快速构建软件原型,开启高效开发新纪元
  • 《探秘火焰目标检测开源模型:智能防火的科技利刃》
  • SpringBoot 集成 Gitee 实现三方登录
  • 5套经典行业原型-含生鲜电商、旅游社交、O2O美食、汽车美容行业
  • python-应用自动化操作方法集合
  • 漫话架构师|什么是系统架构设计师(开篇)
  • 【Mysql进阶知识】
  • MyBatis-Plus6--MyBatis中的分页插件
  • 物联网网关Web服务器--lighttpd服务器部署与应用测试
  • 【深度学习基础】线性神经网络 | 图像分类数据集
  • 读书笔记~管理修炼-101℃理论:在绝境中找到新的生机
  • react什么时候用箭头函数,什么时候不需要
  • Cesium生成高清截图
  • Azure 100 学生订阅下,使用 Docker 在 Ubuntu VPS 上部署 Misskey 的详细教程
  • 1161 Merging Linked Lists (25)
  • HOW - 防抖时间设置