Go语言探索 - 5(原创)

简介: Go语言基础系列博客用到的所有示例代码在上一篇文章 中,主要学习了Go语言的算术运算符、关系运算符 、逻辑运算符 、赋值运算符以及运算符优先级,本篇文章主要学习Go语言的条件判断语句以及循环语句。

Go语言基础系列博客用到的所有示例代码

上一篇文章 中,主要学习了Go语言的算术运算符、关系运算符 、逻辑运算符 、赋值运算符以及运算符优先级,本篇文章主要学习Go语言的条件判断语句以及循环语句。

条件判断语句:

由于if else if这种条件判断语句在很多种语言都有相似性,这里就快速学习下Go语言中的条件判断语句,首先是if语句:

img_f5ba2ff63e264895039fa787885572d4.png
if语句

if语句表达的是 判断语句为true即执行true里面的语句块,否则执行else里面的语句;

if else if  else语句是对 if else 语句的拓展与补充 他可以有多个判断条件,多个判读条件就是基于else if括号里面的条件进行判断:

img_346023a187062cec00516553c4ed6d80.png
else if

但是如果写大量的else if语句 会造成语句拥挤,这个时候可以使用switch语句进行判断:

img_a8c3b1b730378b779dca68ebebe72fb1.png
switch语句

循环语句:

首先是常见的for循环:

img_534eb70612ee8761ebc8fa7ff8bab75f.png
for循环

这种常见的写法就是: for init;condition; post {  }

三个参数:

init: 一般为赋值表达式,给控制变量赋初值;

condition: 关系表达式或逻辑表达式,循环控制条件;

post: 一般为赋值表达式,给控制变量增量或减量。

执行流程:

判别赋值表达式 init 是否满足给定条件,若其值为真,满足循环条件,则执行循环体内语句,然后执行 post,进入第二次循环,再判别 condition;否则判断 condition 的值为假,不满足条件,就终止for循环,执行循环体外语句。

嵌套循环:

现在我要输出一个 9*9乘法表,在Go语言中该如何使用?可以参考Java中的写法,写法如下:

img_0cdd90d3f4a593cf5db6376e17426342.png
循环嵌套

那么Go语言中的循环控制语句有以下三种:

break:经常用于中断当前 for 循环或跳出 switch 语句

continue:跳过当前循环的剩余语句,然后继续进行下一轮循环。

goto:将控制转移到被标记的语句。

下面对上面的3种循环控制语句一个个说明使用,

Go 语言中 break 语句用于以下两方面:

A:用于循环语句中跳出循环,并开始执行循环之后的语句。

B:break在switch(开关语句)中在执行一条case后跳出语句的作用。

img_6543eb51965444b0c9d52a316e7e012c.png
break语句

Go 语言的 continue 语句值如何符号条件,不是跳出循环,而是跳过当前循环执行,接着继续执行下一次循环语句。for 循环中,执行 continue 语句会触发for增量语句的执行。如下图:


img_f19fe2ea32c708e562b0e8677892f88d.png
continue

还是沿用break语句的那张图,只是将break改成了continue。如果使用符合逻辑定义的continue语句,那么 这个数组 arrayName[3] 也就是45451跳出了本次循环(也就没有打印45451) 但是后面的条件会继续执行打印数组的值。

Go 语言的 goto 语句可以无条件地转移到过程中指定的行。

goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。

但是,在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。下面我们首先看goto语句的使用:

img_0e52fbf634912fd370e456a3b9d946d4.png
goto语句

下面是goto的一种写法:

img_8c32e5ee821cb328e4f0c5ad87b4ac72.png
goto - 2

本篇文章关于Go语言的条件判断语句以及循环语句的学习基本上就结束了,本章内容客观来说都是相对较基础。

如果这篇文章对你有帮助,希望各位看官留下宝贵的star,谢谢。

Ps:著作权归作者所有,转载请注明作者, 商业转载请联系作者获得授权,非商业转载请注明出处(开头或结尾请添加转载出处,添加原文url地址),文章请勿滥用,也希望大家尊重笔者的劳动成果。

相关文章
|
15天前
|
安全 测试技术 Go
Go语言在高并发场景下的应用
在当今互联网高速发展的时代,高并发已成为众多应用系统面临的核心问题。本文探讨了Go语言在高并发场景下的优势,并通过具体实例展示了其在实际应用中的效果和性能表现。
|
12天前
|
Go
go语言map、实现set
go语言map、实现set
14 0
|
12天前
|
Go
go语言数组与切片
go语言数组与切片
17 0
|
5天前
|
存储 Go API
一个go语言编码的例子
【7月更文挑战第2天】本文介绍Go语言使用Unicode字符集和UTF-8编码。Go中,`unicode/utf8`包处理编码转换,如`EncodeRune`和`DecodeRune`。`golang.org/x/text`库支持更多编码转换,如GBK到UTF-8。编码规则覆盖7位至21位的不同长度码点。
70 1
一个go语言编码的例子
|
8天前
|
JSON 算法 测试技术
在go语言中调试程序
【6月更文挑战第29天】Go语言内置`testing`包支持单元测试、基准测试和模糊测试。`go test`命令可执行测试,如`-run`选择特定测试,`-bench`运行基准测试,`-fuzz`进行模糊测试。
17 2
在go语言中调试程序
|
14天前
|
存储 中间件 Go
在go语言服务中封装路由和示例
【6月更文挑战第23天】本文介绍golang后端按协议处理、中间件(一次性与每次请求执行)划分、以及服务架构Controller、Logic/Service、DAO/Repository和Routers划分。代码仓库在GitHub上提供。使用框架简化了交互和处理。后续章节深入探讨服务构建。
107 5
在go语言服务中封装路由和示例
|
6天前
|
安全 Go
Go语言的iota关键字有什么用途?
**Go语言中的`iota`是常量生成器,用于在`const`声明中创建递增的常量。`iota`在每个新的`const`块重置为0,然后逐行递增,简化了枚举类型或常量序列的定义。例如,定义星期枚举:** ```markdown ```go type Weekday int const ( Sunday Weekday = iota // 0 Monday // 1 Tuesday // 2 ... ) ``` 同样,`iota`可用于定义不同组的常量,如状态码和标志位,保持各自组内的递增,提高代码可读性。
|
11天前
|
Devops Go 云计算
Go语言发展现状:历史、应用、优势与挑战
Go语言发展现状:历史、应用、优势与挑战
|
12天前
|
Go
go语言的hello,world
go语言的hello,world
10 1
|
15天前
|
Unix Go 开发者
探索Go语言并发模型:原理与实践
本文深入探讨了Go语言的并发模型,包括其设计原理、Goroutine和Channel的基本使用,以及如何在实际项目中高效地应用这些概念来提高程序的性能和可维护性。