for循环用于多次执行特定的代码块,每次都可以使用不同的值。每次循环执行都称为一次迭代。for循环可以包含最多三个语句:

语法

for 语句1; 语句2; 语句3 {
// 每次迭代要执行的代码
}
  • 语句1:初始化循环计数器的值。
  • 语句2:对每次循环迭代进行评估。如果评估为TRUE,则继续循环。如果评估为FALSE,则结束循环。
  • 语句3:增加循环计数器的值。

注意:这些语句不需要作为循环的参数存在,但它们需要以某种形式出现在代码中。

for循环示例

示例 1

以下示例将打印从0到4的数字:

package main

import (
"fmt"
) func main() {
for i := 0; i < 5; i++ {
fmt.Println(i)
}
}

结果:

0
1
2
3
4

示例 2

以下示例以十进制计数到100:

package main

import (
"fmt"
) func main() {
for i := 0; i <= 100; i += 10 {
fmt.Println(i)
}
}

结果:

0
10
20
30
40
50
60
70
80
90
100

continue语句

continue语句用于跳过一个或多个循环迭代,然后继续执行下一次迭代。

示例

以下示例跳过值为3的情况:

package main

import (
"fmt"
) func main() {
for i := 0; i < 5; i++ {
if i == 3 {
continue
}
fmt.Println(i)
}
}

结果:

0
1
2
4

break语句

break语句用于终止循环的执行。

示例

以下示例在i等于3时中断循环:

package main

import (
"fmt"
) func main() {
for i := 0; i < 5; i++ {
if i == 3 {
break
}
fmt.Println(i)
}
}

结果:

0
1
2

注意:continuebreak通常与条件一起使用。

嵌套循环

可以将一个循环放在另一个循环内。

在此示例中,“内部循环”将在“外部循环”的每次迭代中执行一次:

示例

package main

import (
"fmt"
) func main() {
adj := [2]string{"大", "美味"}
fruits := [3]string{"苹果", "橙子", "香蕉"}
for i := 0; i < len(adj); i++ {
for j := 0; j < len(fruits); j++ {
fmt.Println(adj[i], fruits[j])
}
}
}

结果:

大 苹果
大 橙子
大 香蕉
美味 苹果
美味 橙子
美味 香蕉

range关键字

range关键字用于更轻松地迭代数组、切片或映射。它返回索引和值。

range关键字的用法如下:

语法

for 索引, 值 := 数组|切片|映射 {
// 每次迭代要执行的代码
}

示例

以下示例使用range来迭代数组并打印索引和每个值(idx存储索引,val存储值):

package main

import (
"fmt"
) func main() {
fruits := [3]string{"苹果", "橙子", "香蕉"}
for idx, val := range fruits {
fmt.Printf("%v\t%v\n", idx, val)
}
}

结果:

0      苹果
1 橙子
2 香蕉

提示:要仅显示值或索引,可以使用下划线( _)省略其他输出。

示例

在这里,我们想要省略索引(idx存储索引,val存储值):

package main

import (
"fmt"
) func main() {
fruits := [3]string{"苹果", "橙子", "香蕉"}
for _, val := range fruits {
fmt.Printf("%v\n", val)
}
}

结果:

苹果
橙子
香蕉

示例

在这里,我们想要省略值(idx存储索引,val存储值):

package main

import (
"fmt"
) func main() {
fruits := [3]string{"苹果", "橙子", "香蕉"}
for idx, _ := range fruits {
fmt.Printf("%v\n", idx)
}
}

结果:

0
1
2

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

Go 语言中 For 循环:语法、使用方法和实例教程的更多相关文章

  1. C语言中的const,free使用方法具体解释

    注意:C语言中的const和C++中的const是有区别的,并且在使用VS编译測试的时候. 假设是C的话.请一定要建立一个后缀为C的文件.不要是CPP的文件. 由于.两个编译器会有区别的. 一.C语言 ...

  2. C语言中malloc函数的使用方法

    C语言中malloc是动态内存分配函数.函数原型:void *malloc(unsigned int num_bytes);参数:num_bytes 是无符号整型,用于表示分配的字节数.返回值:如果分 ...

  3. C语言中for循环的使用

    for循环的作用: 注意:要主要满足条件一和二后是先执行语句,后再执行条件三. 简单重复的输出 for(int i=0:i<10;i++){ printf("对一句话简单重复输出输出1 ...

  4. Django模板语言中的Filters的使用方法

    Filters可以称为过滤器.下面我们简单介绍是如何使用他的. Filters的语法: {{ value|filter_name:参数 }} Django大概提供了六十个内置过滤器,下面我们简单介绍几 ...

  5. R语言中Fisher判别的使用方法

    最近编写了Fisher判别的相关代码时,需要与已有软件比照结果以确定自己代码的正确性,于是找到了安装方便且免费的R.这里把R中进行Fisher判别的方法记录下来. 1. 判别分析与Fisher判别 不 ...

  6. C语言中 fputs() fgets() 的使用方法

    一.读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为: fgets(字符数组名,n,文件指针): 其中的n是一个正整数.表示从文件中读出的字符串不超过 n-1 ...

  7. c语言中for循环 和嵌套for循环

    for循环:for( ; ; )里面是bai3个语句,两个分号.第一个语句是开始前执行,第二个语句是判断真假,如果真,就执行后面(大括号内)的代码.第三个语句是每次执行完毕后执行的东西,通常第三个语句 ...

  8. 关于C语言中for循环的执行顺序

    for(初始值赋值操作A:终止条件B:递增操作C) {      循环体D: } 其执行次序为:A->B->D->C->B->D->C->B--.. 直到B条 ...

  9. Linux-C语言中gettimeofday()函数的使用方法(转载)

    1.简介: 在C语言中可以使用函数gettimeofday()函数来得到时间.它的精度可以达到微妙 2.函数原型: #include<sys/time.h> int gettimeofda ...

  10. linux下C语言中的flock函数使用方法 .

    表头文件  #include<sys/file.h> 定义函数  int flock(int fd,int operation); 函数说明  flock()会依參数operation所指 ...

随机推荐

  1. Jenkins+maven+svn+tomcat持续集成环境

    前言 团队最近要把项目发布的工作拿过来,所以需要一个持续集成发布系统 直接上步骤. 下载 http://mirrors.jenkins-ci.org/war/latest/ 直接下载war包,我下载的 ...

  2. Emqx高可用架构

    目录 优化前架构 主要问题 haproxy问题 优化后架构 优化功能点 emq版本升级 linux系统调优 haproxy调优 测试工具 依赖安装 配置erl环境变量 安装压测软件 测试指令与结果展示 ...

  3. Centos下git pull免密码操作

    在终端输入以下指令: git config --global credential.helper store然后再次执行pull操作,还是会提示一次输入帐号与密码.断开终端链接,重连,再次进行pull ...

  4. 【Azure API 管理】Azure API Management通过请求中的Path来限定其被访问的频率(如1秒一次)

    问题描述 Azure API Management 是否可以通过请求中的Path来限定其被访问的频率? 在系统Request中发现某个Path 在短时间内被频繁的调用,影响了后台服务的性能及安全,所以 ...

  5. TensorFlow 回归模型

    TensorFlow 回归模型 首先,导入所需的库和模块.代码中使用了numpy进行数值计算,matplotlib进行数据可视化,tensorflow进行机器学习模型的构建和训练,sklearn进行多 ...

  6. 【代码更新】SPI时序——AD数模数转换

    [代码更新]SPI时序--AD数模数转换 AD芯片手册:https://www.ti.com.cn/cn/lit/ds/symlink/ads8558.pdf?ts=1709473143911& ...

  7. rpa:小红书为例讲解界面选取和界面库选取两种元素选择方式的区别执行js获取数据

    上文有讲到rpa从安装到第一个小例子的运行,这篇文章我们讲解rpa的两种元素选择方式说明:界面选取和界面库选取. 首先,我们需要知道为什么需要选取元素,以及选取了元素之后有什么作用? 现在有一种这样的 ...

  8. 适用于AbpBoilerplate的阿里云腾讯云Sms短信服务

    Sms 适用于AbpBoilerplate的短信服务(Short Message Service,SMS)模块,通过简单配置即可使用,仅更改一处代码即可切换短信服务提供商. Aliyun.Sms由阿里 ...

  9. iview 动态表单验证 FormItem prop rules v-show 动态表单校验

    iview 动态表单验证 FormItem prop rules v-show 重点1 用v-show 控制显示隐藏 重点2 prop 指定字段 重点3 :rules 动态指定规则 <div v ...

  10. k8s通过help、dry-run、explain提高编写yaml效率

    在Kubernetes(k8s)环境中,help.dry-run和explain命令可以帮助你提高编写YAML文件的效率.这些命令提供了关于资源定义.命令用法和字段说明的信息,从而让你能够更快速.更准 ...