go基础-6.for循环

简介: go基础-6.for循环

任何编程语言,都会有for循环,它的一般写法是

for 初始化;条件;操作{
}

例如求1+2+...+100的和

package main

import "fmt"

func main() {

var sum = 0
for i := 0; i <= 100; i++ {
sum += i
}
fmt.Println(sum)
}

for循环的五种变体
传统for循环
如上

死循环
每隔1秒打印当前的时间

package main

import (
"fmt"
"time"
)

func main() {

for {
time.Sleep(1 * time.Second)
fmt.Println(time.Now().Format("2006-01-02 15:04:05")) // 年月日时分秒的固定格式
}
}

while模式
由于golang没有while循环,如果需要,则是由for循环稍微变化得来

package main

import "fmt"

func main() {

i := 0
sum := 0
for i <= 100 {
sum += i
i++
}
fmt.Println(sum)
}

do-while模式
do-while模式就是先执行一次循环体,再判断

package main

import "fmt"

func main() {

i := 0
sum := 0
for {
sum += i
i++
if i == 101 {
break
}
}
fmt.Println(sum)
}

遍历切片,map
遍历切片

第一个参数是索引,第二个参数是

package main

import "fmt"

func main() {

s := []string{"枫枫", "知道"}
for index, s2 := range s {
fmt.Println(index, s2)
}
}

[kod.sxsxw.net)
[kod.srtpay.com)
[kod.ttaoc.net)
[kod.sv321.com)
[kod.ttd88.com)
遍历map

第一个参数就是key,第二个就是value

package main

import "fmt"

func main() {

s := map[string]int{
"age": 24,
"price": 1000,
}
for key, val := range s {
fmt.Println(key, val)
}
}

break,continue
break用于跳出当前循环

continue用于跳过本轮循环

例如打印九九乘法表

package main

import "fmt"

func main() {

for i := 1; i <= 9; i++ {
for j := 1; j <= i; j++ {
fmt.Printf("%d %d = %d\t", i, j, ij)
}
fmt.Println()
}
}

除了这样写,还能这样写

package main

import "fmt"

func main() {

for i := 1; i <= 9; i++ {
for j := 1; j <= 9; j++ {
if j > i {
// 去掉 列比行大的数据
continue
}
fmt.Printf("%d %d = %d\t", i, j, ij)
}
fmt.Println()
}
}

分类: go基础

相关文章
|
5月前
|
Go
Go 1.22 for 循环的两处重要更新
本文介绍了 Go 1.22 版本对 for 循环所做的两处重要更新:循环的每次迭代都会创建新变量 和 循环支持对整数范围进行迭代。 - 循环的每次迭代都会创建新变量,有效避免了以往版本中常见的闭包陷阱,提高了代码的安全性和可预测性。 - 循环支持对整数范围进行迭代,极大地增强了 for 循环的灵活性,使得编写计数循环更加直接和简洁。
97 1
Go 1.22 for 循环的两处重要更新
|
2月前
|
Go
Go1.22 新特性:for 循环不再共享循环变量,且支持整数范围
Go1.22 新特性:for 循环不再共享循环变量,且支持整数范围
|
5月前
|
Go 开发者
Golang深入浅出之-Go语言流程控制:if、switch、for循环详解
【4月更文挑战第21天】本文介绍了Go语言中的流程控制语句,包括`if`、`switch`和`for`循环。`if`语句支持简洁的语法和初始化语句,但需注意比较运算符的使用。`switch`语句提供多分支匹配,可省略`break`,同时支持不带表达式的形式。`for`循环有多种形式,如基本循环和`for-range`遍历,遍历时修改原集合可能导致未定义行为。理解并避免易错点能提高代码质量和稳定性。通过实践代码示例,可以更好地掌握Go语言的流程控制。
46 3
Golang深入浅出之-Go语言流程控制:if、switch、for循环详解
|
5月前
|
编译器 Go
go语言第二章循环结构(for循环)
go语言第二章循环结构(for循环)
49 0
|
5月前
|
存储 Go 索引
Go 语言中 For 循环:语法、使用方法和实例教程
for循环用于多次执行特定的代码块,每次都可以使用不同的值。每次循环执行都称为一次迭代。for循环可以包含最多三个语句: 语法
89 0
|
12月前
|
Go
说说Go语言for循环中的继续、中断、跳出
说说Go语言for循环中的继续、中断、跳出
119 0
|
Go 索引
一文熟悉 Go 的循环结构 —— for 循环
我是陈明勇,本文分享的知识是 Go 的循环结构。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!
146 1
一文熟悉 Go 的循环结构 —— for 循环
|
程序员 Go
Go语言 if判断和for循环实战 goto使用的那些坑
这篇文章将介绍if判断、for循环、fori循环、for range、for循环作用域、goto如何使用、goto的使用需要注意的问题,以及使用for循环打印9*9乘法表的实战应用。
161 0
Go语言 if判断和for循环实战 goto使用的那些坑
|
Java 程序员 Go
Go+ 高级for循环、异常处理
channel < -是Go+里面的一个类型,叫channel,中文名叫管道,是Go+之间的一种通信机制,我们可以使用channel发送或者去接受数据,有点类似于Java的流编程。箭头方向表示数据的传递方向。
210 0
Go+(Switch、简单for循环)
如果我们需要匹配某些情况的时候,比如说给考试分等级,90分以上为A,70分以上为B,60分以下为C,这种情况,我们发现,如果使用if条件语句的话,实现起来是十分复杂的,所以就有了选择语句switch。 Go+的switch相较于Java和、C的switch语句更加灵活方便。
216 0