go语言学习笔记 — 基础 — 控制流(3):for循环语句

在不少实际问题中,有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。以下为大多数编程语言循环程序的流程图:

在这里插入图片描述

Go语言的循环只有for一种表示方法,提供了以下两种循环处理语句:

循环类型 描述
for循环 重复执行语句块
for嵌套循环 在for循环中嵌套一个或多个 for 循环

for循环可以通过break、goto、return、panic等语句强制退出循环。


1. for循环

for循环是一个循环控制结构,可以用来执行指定次数的循环。

1.1 for循环的语法

  • go中for循环的一般形式(重要)

与C语言一样,go语言的循环只有一种形式,在for语句之间使用分号分隔。

for 初始语句; 条件表达式; 结束语句 {
   
    循环体
}

循环体不停地进行循环,直到条件表达式返回false时,自动退出循环,接着执行for的“}”之后的语句。

  • for中的初始语句 —— 开始循环时执行的语句

初始语句一般为赋值表达式,在第一次循环前执行,一般用于初始化控制变量。控制变量的作用域被限定在这个for循环之内。初始语句可以忽略不写,但初始语句之后的分号;必须写。

step := 2
for ;step > 0; step-- {
   
    fmt.Println(step)
}

控制变量step放在for循环之前进行初始化,并且省略了初始化语句,此时控制变量step的作用域比在初始化语句中声明step的要大。

  • for中的条件表达式 —— 控制是否循环的开关

条件表达式为关系表达式或逻辑表达式,是循环控制的判断条件。每次for循环开始前,计算条件表达式。如果值为true,则循环继续,否则循环结束。

a. 与C语言的for(;;)一样,下面代码忽略初始语句、条件表达式,但是保留结束语句。此时for循环持续执行(死循环),每次循环结束都会调用结束语句i++,循环的退出需要在循环体内调用break语句。

for ; ; i++ {
    
    循环体
}

示例:当i大于10时,通过break语句跳出for循环,执行循环之外的语句。

var i int

for ; ; i++ {
        // 没有设置i的初始值
    if i > 10 {
   
        break
    }
    
    // code block
}

// code block

b. 无限循环(死循环)

条件表达式可以被忽略,忽略条件表达式的for循环默认形成无限循环。无限循环在收发处理中较常见,但需要有可控的方式结束循环,如break语句。

for {
    
    循环体
}

把i++从for结束语句位置放到函数体末尾是等效的,这样的代码更有可读性。

var i int  // 全局变量声明,下方赋值

for {
   
    if i > 10 {
   
        break
    }
    
    // code block
    
    i++
}

c. 只有一个条件的for循环(将if判断整合到for中)

for condition {
   
    循环体
}

下面代码与C语言的while类似,在for后添加一个条件表达式,满足条件时持续循环,否则结束循环。

在代码第3行中,将之前使用if i > 10 {}的判断表达式进行取反,变为判断i小于等于10时持续进行循环。

var i int  // 全局变量
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言学习笔记.pdf》是一本关于Go语言学习学习笔记,内容丰富且简洁明了。本书从基础知识开始,逐步介绍了Go语言的语法、特性和常用库函数等。在学习笔记中,作者通过实际的示例和练习帮助读者理解Go语言的概念和用法。 第一章介绍了Go语言的起源和发展,为读者提供了对Go语言背景的整体了解。第二章讲解了Go语言的基本语法,例如变量声明、循环和条件语句等。通过大量的代码示例,读者能够更好地理解Go语言的语法和结构。 接下来的章节重点介绍了Go语言的并发编程和高级特性。第三章详细介绍了Go语言中的goroutine和channel,这是Go语言并发编程的核心机制。作者通过生动的示例代码和实际应用案例,向读者展示了如何使用goroutine和channel实现并发编程。 第四章和第五章分别介绍了Go语言中的面向对象编程和函数式编程。通过深入讲解Go语言中的结构体、接口和函数,读者能够更好地应用这些特性进行代码设计和开发。 最后几章则介绍了Go语言中常用的库函数和工具。例如,第六章介绍了Go语言中用于网络编程的net包和http包。读者可以学习到如何使用这些库函数构建基于网络的应用程序。 总的来说,《Go语言学习笔记.pdf》是一本非常实用的Go语言学习资料。通过阅读这本书,读者能够系统地学习和理解Go语言的基本概念和高级特性,为之后的Go语言开发打下坚实的基础。无论是初学者还是有一定编程经验的开发者,都能从中获得丰富的知识和经验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值