【Go 基础篇】Go语言分支结构:掌握 if 和 switch,灵活控制程序逻辑

在这里插入图片描述

介绍

在编程中,分支结构是一种重要的控制流程,它允许程序根据不同的条件选择不同的执行路径。Go语言提供了两种主要的分支结构:ifswitch,用于在程序中实现条件判断和多重选择。本篇博客将深入探讨Go语言中的ifswitch分支结构,帮助读者更好地理解如何使用这两种结构来控制程序逻辑流程,以及在实际编程中的应用。

if 分支结构

if 分支结构用于执行基于条件的分支逻辑,根据条件的真假决定是否执行特定的代码块。

基本的 if 语句

package mainimport "fmt"func main() {age := 20if age >= 18 {fmt.Println("您已经成年了!")}
}

在上面的例子中,如果 age 大于等于 18,那么就会执行 if 语句中的代码块,输出 “您已经成年了!”。

ifelse 语句

package mainimport "fmt"func main() {score := 85if score >= 90 {fmt.Println("优秀!")} else {fmt.Println("继续努力!")}
}

在上面的例子中,如果 score 大于等于 90,则输出 “优秀!”,否则输出 “继续努力!”。

ifelse ifelse 语句

package mainimport "fmt"func main() {score := 75if score >= 90 {fmt.Println("优秀!")} else if score >= 80 {fmt.Println("良好!")} else if score >= 70 {fmt.Println("中等!")} else {fmt.Println("需要改进!")}
}

在上面的例子中,根据不同的分数范围,输出不同的评价。

switch 分支结构

switch 分支结构用于实现多个条件的选择,根据不同的情况执行相应的代码块。

基本的 switch 语句

package mainimport "fmt"func main() {day := 3switch day {case 1:fmt.Println("星期一")case 2:fmt.Println("星期二")case 3:fmt.Println("星期三")default:fmt.Println("其他")}
}

在上面的例子中,根据 day 的值,选择执行相应的代码块。

switch 表达式

package mainimport "fmt"func main() {score := 85switch {case score >= 90:fmt.Println("优秀!")case score >= 80:fmt.Println("良好!")case score >= 70:fmt.Println("中等!")default:fmt.Println("需要改进!")}
}

在上面的例子中,根据不同的分数范围,输出不同的评价,但不需要比较固定的值。

fallthrough 关键字

package mainimport "fmt"func main() {num := 2switch num {case 1:fmt.Println("数字是 1")case 2:fmt.Println("数字是 2")fallthroughcase 3:fmt.Println("数字是 3")}
}

在上面的例子中,当 num 为 2 时,fallthrough 关键字会使得后续的 case 语句也被执行,即输出 “数字是 2” 和 “数字是 3”。

最佳实践与总结

ifswitch 分支结构是控制程序逻辑流程的重要工具,它们可以根据条件的真假或多个不同的情况,选择不同的代码执行路径。在编写代码时,要根据实际需求选择合适的分支结构,并注意每个分支的顺序,以及是否需要使用 fallthrough 关键字。

当需要对一个条件进行判断时,可以使用 if 分支结构,根据条件的真假来执行不同的代码块。当需要根据多个情况进行选择时,可以使用 switch 分支结构,根据不同的情况来执行相应的代码块。通过合理运用这两种分支结构,可以使代码更加清晰、易读和易于维护。

无论是简单的条件判断还是复杂的多重选择,ifswitch 分支结构都是实现灵活程序逻辑的关键工具。通过学习不同的用法和实例,您将更好地掌握如何使用这两种分支结构来编写出高效、功能完善的Go程序,提升代码质量和可读性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/83707.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EureKa快速入门

EureKa快速入门 远程调用的问题 多个服务有多个端口,这样的话服务有多个,硬编码不太适合 eureKa的作用 将service的所有服务的端口全部记录下来 想要的话 直接从注册中心查询对于所有服务 每隔一段时间需要想eureKa发送请求 保证服务还存活 动手实践 …

后端开发有哪几种语言? - 易智编译EaseEditing

后端开发是构建应用程序的一部分,负责处理服务器端的逻辑、数据库交互和数据处理。有许多编程语言可用于后端开发,以下是一些常见的后端开发语言: Java: Java是一种广泛使用的面向对象编程语言,具有强大的跨平台能力。…

常见前端面试之VUE面试题汇总八

22. Vue 子组件和父组件执行顺序 加载渲染过程: 1.父组件 beforeCreate 2.父组件 created 3.父组件 beforeMount 4.子组件 beforeCreate 5.子组件 created 6.子组件 beforeMount 7.子组件 mounted 8.父组件 mounted 更新过程: 1. 父组件 befor…

Unity 之transform.LookAt() 调整一个物体的旋转,使其朝向指定的位置

文章目录 总的介绍补充(用于摄像机跟随的场景) 总的介绍 transform.LookAt 是 Unity 引擎中 Transform 组件的一个方法,用于调整一个物体的旋转,使其朝向指定的位置。通常情况下,它被用来使一个物体(如摄像…

cpolar做一个内网穿透

因为不在公司,需要访问公司的数据库,所以做一个内网穿透 下载安装 下载地址: https://dashboard.cpolar.com/get-started 下载后是个压缩包,解压后傻瓜式安装 操作隧道 安装后打开Cpolar Web UI 登录账号,查看隧…

Linux内核学习(九)—— 虚拟文件系统(基于Linux 2.6内核)

虚拟文件系统(VFS)作为内核子系统,为用户空间程序提供了文件和文件系统相关的接口。通过虚拟文件系统,程序可以利用标准的 Unix 系统调用对不同的文件系统(甚至不同介质上的文件系统)进行读写操作。 一、通…

分享几个 Selenium 自动化常用操作

最近工作会用到selenium来自动化操作一些重复的工作,那么在用selenium写代码的过程中,又顺手整理了一些常用的操作,分享给大家。 常用元素定位方法 虽然有关selenium定位元素的方法有很多种,但是对于没有深入学习,尤…

直播平台源码搭建协议讲解篇:传输控制协议TCP

简介: 由于直播平台在当今时代发展的越来越迅速,使得直播平台的技术功能越来越智能,让用户在直播平台中能够和其他用户进行实时互动,让用户可以获取到全世界最新的资讯,让一些用户可以作为主播获得工作,让…

【Hadoop】Hadoop入门概念简介

🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁 🦄 个人主页——🎐开着拖拉机回家_Linux,Java基础学习,大数据运维-CSDN博客 🎐✨🍁 🪁🍁 希望本文能够给您带来一定的…

个人记录:划分

原始数据展示 每五个大图移动一次所有的大图名称的小图片。 读取指定图片格式的图片名称,内置函数map执行,文件移动 图片01-17[:27] 图片17-70要改27为25 import os import shutil # source dataset/sat_train/ source_path "/mnt/sdb1/fenghaixia/dsm/da…

4 多层感知机-个人理解

多层感知机是一组前向结构的人工神经网络,映射一组输入向量到一组输出向量。除了输入节点,每一个节点都是一个带有非线性激活函数的神经元。多层感知机在输入层和输出层之间添加了一个或者多个隐藏层,并通过激活函数转换隐藏层输出。以下介绍…

error LNK2019: 无法解析的外部符号 __imp__glClear@4,函数 _main 中引用了该符号

自己犯这个错误有些搞笑了,找着教程一步一步来还出错,复制GLFW示例代码 运行,报的第一个错误,这是一个链接错误,解决方案: