Go语言学习第四章

news/2024/10/16 2:20:27/

【1】流程控制的作用:
流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。
【2】控制语句的分类:
控制语句分为三类:顺序,选择和循环。
"顺序结构"代表"先执行a,再执行b"的逻辑
"条件判断结构"代表"如果…,则…"的逻辑
"循环结构"代表"如果…,则再继续…"的逻辑
【3】流程控制的流程:
1、顺序结构
2、分支结构
3、循环结构

【4】IF语句
if 条件表达式 {
逻辑代码
}
当条件表达式为true,就会执行的代码
PS:条件表达式左右的()可以不写,也建议不写
PS:if和表达式中间,一定要有空格
PS:在Golang中,{}是必须要有的
//双分支
if 条件表达式 {
逻辑代码1
} else{ //不能换行写else,否则报错
逻辑代码2
}
PS:空格加上,美观规范
//多分枝
if 条件表达式 {

} else if 条件表达式 {

} else {

}

【5】switch 语句
switch 表达式 {
case 值1,值2:
语句块1
case 值1,值2:
语句块2
default:
语句块
}
switch 注意事项
(1)switch后是一个表达式(即:常量值,变量,一个有返回值的函数等都可以)
(2)case后的各个值的数据类型,必须和switch的表达式数据类型一致,比如a int32 ,b int 64 ,则switch中a与b的数据类型不一致
(3)case后面可以带多个表达式,使用逗号间隔,比如case 表达式1,表达式2。 case 10,9,8 switch表达式匹配其中一个就好了
(4)case后面的表达式如果是常量值(字面量),则要求不能重复
(5)case后面不需要带break,程序匹配到一个case后就会执行对应的代码块,然后退出switch,如果一个都匹配不到,则执行default
(6)default语句不是必须的,default语句可以放在任意的位置,不影响default最后执行的特性(case都没有匹配的情况下)
(7)switch后也可以不带表达式,当作if分支来使用
(8)switch也可以直接声明/定义一个变量,分号结束,不推荐
(9)switch穿透,利用fallthrough关键字,如果在case语句块后增加fallthrough,则会继续执行下一个case,也叫switch穿透。

【6】for 语句
for(初始化表达式;布尔表达式;迭代因子){
循环体;
}
for循环语句是支持迭代的一种通用结构,是最用效,最灵活的循环结构。
for循环中不能使用var 定义变量,可以使用:=进行初始化,例子i:=0,初始化只执行一次
执行过程:先进行初始化=》进行判断=》执行循环体=》执行迭代因子i++=》进行判断=》执行循环体
for循环在第一次反复之前要进行初始化,即执行初始表达式;随后,对布尔表达式进行判定,若判定结果为true,
则执行循环体,否则,种植循环;最后在每一次反复的时候,进行某种形式的步进,即执行迭代因子。

1、初始化部分设置循环变量的处置
2、条件判断部分为任意布尔表达式
3、迭代因子控制循环变量的增减

for循环在执行条件判定后,先执行的循环体部分,再执行步进。


http://www.ppmy.cn/news/1539722.html

相关文章

leetcode 79.单词搜索

思路:dfs回溯 有点麻烦,因为这里的dfs模型还不和那个灌水模型一样,灌水模型不需要关心回溯状态的事情,但是这里我们选择单词的时候,每一次独立的搜索,都必须保证其他的搜索不影响到这一次搜索。所以这就需…

北航团队在病理AI领域的研究进展|文献速递·24-10-13

小罗碎碎念 这一期选择的五篇文章都是病理AI相关的,切均来自北航郑钰山老师的团队,所以内容上会有一些衔接和递进。 最早的是22年的一篇,最新的也有今年7月发表的,时效性还是可以保证的。不过,这些文章更偏向方法学&…

Vue GridLayout 入门指南

Vue GridLayout 入门指南 在构建复杂的 Web 应用时,灵活的布局系统往往是不可或缺的。今天,我们来介绍一个强大的 Vue.js 布局工具: vue-gridlayout。这个库允许你创建可拖拽、可调整大小的网格布局,非常适合构建仪表板、管理界面等需要高度可定制布局的应用。 vue-gridlayou…

银行业AI大模型,从入局到求变

在人工智能浪潮的推动下,AI大模型技术正以前所未有的方式,改变着各行各业的服务方式和用户体验。这其中,银行业作为数据密集型行业,成为大模型率先探索的重要行业。 那么,经过一年多的发展,银行业在AI大模…

AI核身-金融场景凭证篡改检测Baseline实践

金融领域交互式自证业务中涵盖信用成长、用户开户、商家入驻、职业认证、商户解限等多种应用场景,通常都需要用户提交一定的材料(即凭证)用于证明资产收入信息、身份信息、所有权信息、交易信息、资质信息等,而凭证的真实性一直是…

大厂面试真题-说说String、StringBuilder和StringBuffer的区别

String、StringBuilder、StringBuffer都是Java中用于处理字符串的类,但它们在使用和功能上有显著的区别。以下是对这三者的详细比较: 一、String类 不可变性:String类的值是不可变的,即每次对String的操作(如拼接、替…

Hadoop服务端口号、Spark端口号、Hive端口号以及启动命令

文章目录 1. 服务端口号1.1 Hadoop相关的服务端口号1.2 Spark相关的服务端口号1.3 Hive的连接端口 2. 服务启动指令 1. 服务端口号 1.1 Hadoop相关的服务端口号 HDFS的web页面访问端口 9870HDFS 的程序访问端口 8020Yarn的访问端口 8088历史日志访问端口 19888 1.2 Spark相关…

植物大战僵尸杂交版

最新版植物大战僵尸杂交版 最近本款游戏火爆 下载资源如下: win版本:2.3.7 链接:下载地址 提取码:9N3P Mac(苹果版本):2.0.0 链接:下载地址 提取码:Bjaa 介绍&#xff…