- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.3 流程和函数
这⼩节我们要介绍Go⾥⾯的流程控制以及函数操作。
流程控制
流程控制在编程语⾔中是最伟⼤的 明了,因为有了它,你可以通过很简单的流程描
述来表达很复杂的逻辑。Go 中流程控制分三⼤类:条件判断,循环控制和⽆条件跳
转。
if
if也许是各种编程语⾔中最常见的了,它的语法概括起来就是:如果满⾜条件就做某
事,否则做另⼀件事。
Go⾥⾯if条件判断语句中不需要括号,如下代码所⽰
if x 10 {
fmt.Println(x is greater than 10)
} else {
fmt.Println(x is less than 10)
}
Go的if还有⼀个强⼤的地⽅就是条件判断语句⾥⾯允许声明⼀个变量,这个变量的
作⽤域只能在该条件逻辑块内,其他地⽅就不起作⽤了,如下所⽰
// 计算获取值x,然后根据x返回的⼤⼩,判断是否⼤于10。
if x := comp tedVal e(); x 10 {
fmt.Println(x is greater than 10)
} else {
fmt.Println(x is less than 10)
}
//这个地⽅如果这样调⽤就 译出错了,因为x是条件⾥⾯的变量
fmt.Println(x)
多个条件的时候如下所⽰:
if integer == 3 {
fmt.Println(The integer is eq al to 3)
} else if integer 3 {
fmt.Println(The integer is less than 3)
} else {
fmt.Println(The integer is greater than 3)
}
goto
Go有goto语句——请明智地使⽤它。⽤goto跳转到必须在当前函数内定义的标签。
例如假设这样⼀个循环:
f nc myF nc() {
i := 0
Here: //这⾏的第⼀个词,以冒号结束作为标签
println(i)
i++
goto Here //跳转到Here去
}
标签名是⼤⼩写敏感的。
for
Go⾥⾯最强⼤的⼀个控制逻辑就是for,它即可以⽤来循环读取数据,又可以当
作while来控制逻辑,还能迭代操作。它的语法如下:
for expression1; expression2; expression3 {
// ...
}
expression1、expression2和expression3都是表达式,其中expression1
和expression3是变量声明或者函数调⽤返回值之类的,expression2是⽤来条件
判断,expression1在循环开始之前调⽤,expression3在每轮循环结束之时调
⽤。
⼀个例⼦⽐上⾯讲那么多更有⽤,那么我们看看下⾯的例⼦吧:
package main
import fmt
f nc main(){
s m := 0;
for index :=0; index 10 ; index++ {
s m += index
}
fmt.Println(s m is eq al to , s m)
}
// 输出:s m is eq al to 45
有些时候需要进⾏多个赋值操作,由于Go⾥⾯没有,操作符,那么可以使⽤平⾏赋
值i, j = i+1, j-1
有些时候如果我们忽略expression1和expression3:
s m := 1
for ; s m 1000; {
s m += s m
}
其中;也可以省略,那么就变成如下的代码了,是不是似曾相识?对,这就是while
的功能。
s m := 1
for s m 1000 {
s m += s m
}
在循环⾥⾯有两个关键操作break和contin e ,break操作是跳出当前循
环,contin e是跳过本次循环。当嵌套过深的时候,break可以配合标签使⽤,即
跳转⾄标签所指定的位置,详细参考如下例⼦:
for index := 10; index0; index-- {
if index == 5{
break // 或者contin e
}
fmt.Println(index)
}
您可能关注的文档
- (读)向PE文件中插入可执行代码研究.pdf
- 0-编程语言的种类和编程工具介绍.ppt
- 01 不同数据库差异.pdf
- 01-《高级语言程序设计(C)》课程概述与计算机语言.pdf
- 01第一篇保险的基础知识.ppt
- 01核电厂安全许可证件的申请与颁发.doc
- 1.0_1 示波器与发生器.pdf
- 1.1实数的概念和大小的比较.ppt
- 1.2.1函数概念 课件(人教a版必修1).ppt
- 1.2m Ku波段卫星地面接收站安装及调试.ppt
- 19.风是怎样形成的(课件)2025青岛版三年级科学上册.ppt
- 湘科版信息科技三年级下册8单元活动2 保护计算机安全 课件 .ppt
- 1.2.2 声与听觉 课件 2025浙教版科学八年级上册.ppt
- 1.2 认识气温计(教学课件)科学教科版三年级上册(新教材).ppt
- 金融赋能新质生产力的内在逻辑与实现路径.pdf
- 第一单元第一课-认识智慧农业 课件 教科版2025信息科技八年级上册.ppt
- 湘科版信息科技五年级下册第8单元活动1 体验智能语音识别 教学课件.ppt
- 1.2 中国的人口 课件 2025人教版地理八年级上册.ppt
- Unit 1 第5课时 Part B Let’s learnDraw, write and say(教学课件)英语人教PEP版五年级上册(新教材).ppt
- 17.瘪的乒乓球鼓起来了(课件)2025青岛版三年级科学上册.ppt
最近下载
- 【基恩士】LR-W500(C) 使用说明书 (简体中文).pdf VIP
- 《西门子接口模块 ET 200M IM 153 2 产品手册 中文超清版》.pdf VIP
- 2025年全国危险化学品经营单位主要负责人考试试题含答案.docx VIP
- 压力性尿失禁的护理查房PPT课件.pptx VIP
- 九年级下册化学《金属》习题巩固.doc VIP
- 索尼sony_mdsje480_使用说明书手册.pdf VIP
- 城市管理网格员(中级)考试题库(浓缩300题).docx VIP
- 城市管理网格员(四级)认证考试复习题及答案(新版).doc VIP
- (新版)城市管理网格员(四级)认证考试复习题库及答案.docx VIP
- 城市管理网格员(五级)认证考试复习题库(重点题).docx VIP
文档评论(0)