加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

go文字中for有哪几种表达方式

发布时间:2023-07-11 14:38:24 所属栏目:语言 来源:
导读:这篇“go语言中for有哪几种写法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇&
这篇“go语言中for有哪几种写法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“go语言中for有哪几种写法”文章吧。
 
Go 语言的For循环有3种写法:1、和C语言for一样的写法,语法“for init; condition; post {...}”;2、和C语言while一样的写法,语法“for condition {...}”;3、和C语言for(;;)一样的写法,语法“for {...}”。需要注意,左花括号“{”必须与for关键字处于同一行。
 
与多数语言不同的是,Go语言中的循环语句只支持 for 关键字,而不支持 while 和 do-while 结构。
 
for 循环是一个循环控制结构,可以执行指定次数的循环。
 
Go 语言 for 循环的写法
 
Go 语言的 For 循环有 3 种形式,只有其中的一种使用分号。
 
和 C 语言的 for 一样:
 
for init; condition; post { }
 
和 C 的 while 一样:
 
for condition { }
 
和 C 的 for(;;) 一样:
 
for { }
 
init: 一般为赋值表达式,给控制变量赋初值;
 
condition: 关系表达式或逻辑表达式,循环控制条件;
 
post: 一般为赋值表达式,给控制变量增量或减量。
 
for语句执行过程如下:
 
1、先对表达式 1 赋初值;
 
2、判别赋值表达式 init 是否满足给定条件,若其值为真,满足循环条件,则执行循环体内语句,然后执行 post,进入第二次循环,再判别 condition;否则判断 condition 的值为假,不满足条件,就终止for循环,执行循环体外语句。
 
使用循环语句时,需要注意的有以下几点:
 
左花括号{必须与 for 处于同一行。
 
Go语言中的 for 循环与C语言一样,都允许在循环条件中定义和初始化变量,唯一的区别是,Go语言不支持以逗号为间隔的多个赋值语句,必须使用平行赋值的方式来初始化多个变量。
 
Go语言的 for 循环同样支持 continue 和 break 来控制循环,但是它提供了一个更高级的 break,可以选择中断哪一个循环,如下例:
 
for j := 0; j < 5; j++ {
 
    for i := 0; i < 10; i++ {
 
        if i > 5 {
 
            break JLoop
 
        }
 
        fmt.Println(i)
 
    }
 
}
 
JLoop:
 
// ...
 
上述代码中,break 语句终止的是 JLoop 标签处的外层循环。
 
Go 语言 for 循环的使用
 
for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环。格式如下:
 
for key, value := range oldMap {
 
    newMap[key] = value
 
}
 
以上代码中的 key 和 value 是可以省略。
 
如果只想读取 key,格式如下:
 
for key := range oldMap
 
或者这样:
 
for key, _ := range oldMap
 
如果只想读取 value,格式如下:
 
for _, value := range oldMap
 
实例
 
计算 1 到 10 的数字之和:
 
package main
 
import "fmt"
 
func main() {
 
   sum := 0
 
      for i := 0; i <= 10; i++ {
 
         sum += i
 
      }
 
   fmt.Println(sum)
 
}
 
输出结果为:
 
55
 
init 和 post 参数是可选的,我们可以直接省略它,类似 While 语句。
 
以下实例在 sum 小于 10 的时候计算 sum 自相加后的值:
 
package main
 
import "fmt"
 
func main() {
 
   sum := 1
 
   for ; sum <= 10; {
 
      sum += sum
 
   }
 
   fmt.Println(sum)
 
   // 这样写也可以,更像 While 语句形式
 
   for sum <= 10{
 
      sum += sum
 
   }
 
   fmt.Println(sum)
 
}
 
输出结果为:
 
16
 
16
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!