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 (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐