Go 语言中 For 循环:语法、使用方法和实例教程
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
注意:continue
和break
通常与条件一起使用。
嵌套循环
可以将一个循环放在另一个循环内。
在此示例中,“内部循环”将在“外部循环”的每次迭代中执行一次:
示例
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 循环:语法、使用方法和实例教程的更多相关文章
- C语言中的const,free使用方法具体解释
注意:C语言中的const和C++中的const是有区别的,并且在使用VS编译測试的时候. 假设是C的话.请一定要建立一个后缀为C的文件.不要是CPP的文件. 由于.两个编译器会有区别的. 一.C语言 ...
- C语言中malloc函数的使用方法
C语言中malloc是动态内存分配函数.函数原型:void *malloc(unsigned int num_bytes);参数:num_bytes 是无符号整型,用于表示分配的字节数.返回值:如果分 ...
- C语言中for循环的使用
for循环的作用: 注意:要主要满足条件一和二后是先执行语句,后再执行条件三. 简单重复的输出 for(int i=0:i<10;i++){ printf("对一句话简单重复输出输出1 ...
- Django模板语言中的Filters的使用方法
Filters可以称为过滤器.下面我们简单介绍是如何使用他的. Filters的语法: {{ value|filter_name:参数 }} Django大概提供了六十个内置过滤器,下面我们简单介绍几 ...
- R语言中Fisher判别的使用方法
最近编写了Fisher判别的相关代码时,需要与已有软件比照结果以确定自己代码的正确性,于是找到了安装方便且免费的R.这里把R中进行Fisher判别的方法记录下来. 1. 判别分析与Fisher判别 不 ...
- C语言中 fputs() fgets() 的使用方法
一.读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为: fgets(字符数组名,n,文件指针): 其中的n是一个正整数.表示从文件中读出的字符串不超过 n-1 ...
- c语言中for循环 和嵌套for循环
for循环:for( ; ; )里面是bai3个语句,两个分号.第一个语句是开始前执行,第二个语句是判断真假,如果真,就执行后面(大括号内)的代码.第三个语句是每次执行完毕后执行的东西,通常第三个语句 ...
- 关于C语言中for循环的执行顺序
for(初始值赋值操作A:终止条件B:递增操作C) { 循环体D: } 其执行次序为:A->B->D->C->B->D->C->B--.. 直到B条 ...
- Linux-C语言中gettimeofday()函数的使用方法(转载)
1.简介: 在C语言中可以使用函数gettimeofday()函数来得到时间.它的精度可以达到微妙 2.函数原型: #include<sys/time.h> int gettimeofda ...
- linux下C语言中的flock函数使用方法 .
表头文件 #include<sys/file.h> 定义函数 int flock(int fd,int operation); 函数说明 flock()会依參数operation所指 ...
随机推荐
- 矩池云快速安装torch-sparse、torch-geometric等包
租用机器,按自己需要的环境选择一个环境,我这里选择的是Pytorch 1.10. 租用成功后点击租用页面的 Jupyterlab 链接. Jupyterlab 里新建一个Terminal 用来安装环境 ...
- MIG是如何向DDR中写入数据的
1.1 先来看看信号线的描述 我们以X16的器件为例,下面的截图来自 镁光的官方手册 https://media-www.micron.com/-/media/client/global/doc ...
- PRINCE2系列一基于项目情境自定义解决方案
PRINCE2(PRojects IN Controlled Environments,受控环境下的项目管理) 对项目进行了如下定义:项目是按照一个被批准的商业论证,为了交付一个或多个商业产品而创建的 ...
- kotlin协程小记
转载请标明出处:https://www.cnblogs.com/tangZH/p/16849169.html -[kotlin协程小记]-[协程的async使用]- [kotlin协程异常处理之-tr ...
- Java 关于抽象类匿名子类
1 package com.bytezreo.abstractTest; 2 3 /** 4 * 5 * @Description Abstract 关键字使用 6 * @author Bytezer ...
- 11、mysql的SQL执行顺序
编写顺序 SELECT DISTINCT <select list> FROM <left_table> <join_type> JOIN <right_ta ...
- Swagger (API框架,API 文档 与API 定义同步更新)
1.依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring ...
- 软件icon制作流程,就一张256-256的图即可,一键生成windows所有格式
软件icon制作流程,就一张256-256的图即可,一键生成windows所有格式 好久不用这个都有些生疏了,还特意做了好几个尺寸的图,结果白弄了,软件会自动生成. 1.准备256-256px的图 2 ...
- 玩转Vue3之shallowRef和shallowReactive
前言 Vue3 作为一款现代的 JavaScript 框架,引入了许多新的特性和改进,其中包括 shallowRef 和 shallowReactive.这两个功能在Vue 3中提供了更加灵活和高效的 ...
- 音频编解码aac移植之ubuntu下aac的仿真的编译和运行
一 编译 aac的编译其实很简单,配置好预编译选项之后,立即在根目录下执行:make 即可. 第一步:./configure 第二步: make 第三步: sudo make install 二 运行 ...