我的Go语言学习之旅三:Go语言中的for循环

这个但是为难我了,我一直是走在WEB前的程序猿,各种循环用起来得心应手。突然间发现到了Go这里竟然行不通了,查阅后才发现,原来Go的for是这样写的。

for i:=0;i<10;i++{
fmt.Printf("%d\n",i);
}

非常有才的一种写法,我用起来感觉的确没有 带有圆括号舒服。

接下来。看很多其它关于 for 的实例吧

Go 的 for 循环有三种形式。仅仅有当中的一种使用分号。
for init; condition; post { } ← 和 C 的 for 一样
for condition { } ← 和 while 一样
for { } ← 和 C 的 for(;;) 一样(死循环)
 短声明使得在循环中声明一个序号变量更加easy。
sum := 0
for i := 0; i < 10; i++ {
sum += i ← sum = sum + i的简化写法
} ← i 实例在循环 结束 会失
最后,因为 Go 没有逗号表达式,而 ++ 和 – 是语句而不是表达式,假设你想 在 for 中运行多个变量,应当使用 平行赋值。

// Reverse a
for i, j := 0, len(a)-1; i < j; i, j = i+1, j-1 { ←平行赋值
a[i], a[j] = a[j], a[i] ←这里也是
}
break 和 continue
利用 break 能够提前退出循环,break 终止当前的循环。
for i := 0; i < 10; i++ {
if i > 5 { break ←终止这个循环,仅仅打印0到5}
println(i)
}
循环嵌套循环时。能够在 break 后指定标签。

用标签决定 哪个 循环被终止:
J: for j := 0; j < 5; j++ {
for i := 0; i < 10; i++ {
if i > 5 { break J ←如今终止的是j循环,而不是i的那个
}
println(i)
}
}
利用 continue 让循环进入下一个迭代,而略过剩下的全部代码。以下循环打印 了 0 到 5。

for i := 0; i < 10; i++ {
if i > 5 { continue ←跳过循环中全部的代码
println(i)

range
保留字 range 可用于循环。它能够在 slice、array、string、map 和 channel。 range 是个迭代器,当被调用的时候。从它循环的内容中返回一个键 值对。基于不同的内容,range 返回不同的东西。 当对 slice 或者 array 做循环时。range 返回序号作为键,这个序号相应的内容作 为值。考虑这个代码:
list := []string{"a", "b", "c", "d", "e", "f"}
. . 0
for k, v := range list {
. . 1
//对k 和v做想做的事情
. . 2
}

原文地址:https://www.cnblogs.com/zhchoutai/p/8365633.html

时间: 2024-10-09 03:12:30

我的Go语言学习之旅三:Go语言中的for循环的相关文章

C++语言学习(五)——C++语言中的CV限定符错误

C++语言学习(五)--C++语言中的CV限定符错误 ?一.CV限定符错误简介 1.CV限定符简介 CV限定符即cv-qualifier,C++语言中指const和volatile限定符.通常,C++语言中有两种情况不能使用CV限定符进行限定:A.非成员函数不能使用CV限定B.静态成员函数不能使用CV限定 2.CV限定符错误信息简介 C++语言中CV限定符错误信息如"cannot have cv-qualifier",常见的CV限定符错误信息如下:A.非成员函数的CV限定符错误信息er

C语言学习笔记(三) 输入输出函数的基本用法以及运算符

printf() ——将内容输出到显示器上 四种用法 1.printf("字符串");   直接输出字符串 2.printf("输出控制符",输出参数); 3.printf("输出控制符1 输出控制符2",输出参数1,输出参数2); 输出控制符和输出参数的个数必须一致: 4.printf("输出控制符 非输出控制符",输出参数); 输出控制符包含如下: 1.%d —— int 2.%ld ——  long int 3.%c —

go语言学习之旅--Go 语言环境安装

前言 笔者已经自学python大概已经几个月了,但是工作繁忙,而且工作中未用到python的知识.于是就渐渐生疏了,这是下定决心学习go,是因为公司有一台go编写的报表系统,而且公司逐渐在想docker转,学习go更又助于未来的工作. 关于GO Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,

开始python语言学习之旅

上学期刚刚学完C语言,虽然对编程挺感兴趣的,能自己编写程序来解决问题,想想就兴奋.可是学完了一学期的C语言发现自己会的只是一点点,更不用说自己编写程序来解决问题.不过学了python还没两周我就可以画出几何图形,还可以控制电脑让它给我播放音乐,毫无疑问我已经被python深深吸引了.为了更好的学习这门课,提升我们的学习兴趣,我希望老师多给我们举一些实用的例子,还有就是教会我们用电脑思维来解决问题.提升我们的见识面,结合生活让python无处不在!在这里先谢谢我们的肖老师.

Go语言学习笔记(三)数组 &amp; 切片 &amp; map

加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 数组 Arrays 数组是同一种数据类型的固定长度的序列. 数组是值类型,因此改变副本的值,不会改变本身的值: 当作为方法的入参传入时将复制一份数组而不是引用同一指针. 通过从0开始的下标索引访问元素值. 数组定义 var a []int a = make([]int, 5) var a1 [5]int = [5]int{1, 2, 3, 4, 5} //len:5 content:[1 2 3 4 5] va

[原创] zabbix学习之旅三:agent安装

部署完zabbix server后,自然要部署zabbix agent.在官方描述中,agent是部署在被监控的机器上,用于采集CPU.内存.磁盘等统计信息,并上报给server用于进一步处理.agent的采集信息方式也非常高效,是通过本机操作系统的系统调用完成. agent主要通过被动和主动两种方式上报本机信息,顾名思义,被动方式意味着server下达采集命令时,agent才会去收集信息:而主动方式意味着agent会在第一次时就从server处获取要采集的items,并定期将每个item的新值

C语言学习系列(三)C程序结构

一.C程序结构 C 程序主要包括以下部分: 预处理器指令 函数 变量 语句 & 表达式 注释 new C program demo: 1 #include <stdio.h> /*预处理器指令*/ 2 /* 第一个中文程序实例 */ 3 int main() /*main函数*/ 4 { 5 int i; /*变量*/ 6 i=1; /*语句&表达式*/ 7 printf("我的第%d个C程序\n",i); /*语句&表达式*/ 8 return 0

Python学习笔记(三)-流程控制(while循环)

While循环: Python流程控制中的while循环,直到表达式变为假才会结束.表达的是一个逻辑表达式,必须返回一个true或false语法如下:while expression: statement(s) #请注意while循环也是要遵循代码缩进原则的 while后接true条件: print '' #始终为true,会进入死循环,一直print打印..,没有实际意义.. 那么,我们在设计Python程序时就要设置一个条件,使程序终止,而不是直接Ctrl+C去终止程序..下面看实例: 1

Go语言学习(十一)面向对象编程-类型系统

1.类型系统介绍 对于面向对象编程的支持Go 语言设计得非常简洁而优雅.简洁之处在于,Go语言并没有沿 袭传统面向对象编程中的诸多概念,比如继承.虚函数.构造函数和析构函数.隐藏的 this 指 针等. 一个典型的类型系统通常包含如下基本内容: 基础类型,如 byte . int . bool . float 等: 复合类型,如数组.结构体.指针等: 可以指向任意对象的类型( Any 类型): 面向对象,即所有具备面向对象特征(比如成员方法)的类型: 接口. 因为Java语言自诞生以来被称为最纯