这个但是为难我了,我一直是走在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
}

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

  1. PHP语言学习之php-fpm 三种运行模式

    本文主要向大家介绍了PHP语言学习之php-fpm 三种运行模式,通过具体的内容向大家展示,希望对大家学习php语言有所帮助. php-fpm配置 配置文件:php-fpm.conf 开启慢日志功能的 ...

  2. Hadoop学习之旅三:MapReduce

    MapReduce编程模型 在Google的一篇重要的论文MapReduce: Simplified Data Processing on Large Clusters中提到,Google公司有大量的 ...

  3. 滴滴Booster移动APP质量优化框架 学习之旅 三

    推荐阅读: 滴滴Booster移动App质量优化框架-学习之旅 一 Android 模块Api化演练 不一样视角的Glide剖析(一) 滴滴Booster移动App质量优化框架-学习之旅 二对重复资源 ...

  4. Go语言学习笔记(三)

    一.浮点数 1.概述 浮点类型用于存储带有小数点的数字 一个整数数值可以赋值给浮点类型但是一个整型变量不可以赋值给浮点类型 浮点数进行运算的结果是浮点数 Go语言中浮点类型有两个 float32 fl ...

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

    加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 数组 Arrays 数组是同一种数据类型的固定长度的序列. 数组是值类型,因此改变副本的值,不会改变本身的值: 当 ...

  6. 我的Go语言学习之旅二:入门初体验 Hello World

    好吧,全部的程序猿们都已经习惯了.学习不论什么一门语言,我们都会以Hello World实例開始我们的学习,我也不例外.先来一个简单的样例 打开编辑器 (能够用记事本,我已经习惯 Notepad++了 ...

  7. [学习总结] python语言学习总结 (三)

    函数闭包 定义 延伸了作用域的函数(能访问定义体之外定义的非全局变量 作用 共享变量的时候避免使用了不安全的全局变量 允许将函数与某些数据关联起来,类似于简化版面向对象编程 相同代码每次生成的闭包,其 ...

  8. go语言学习之路三:切片

    前面讲了变量的有关知识,这里对于其他的数据类型就不多作介绍,(和C差不多),因此重点来讨论下切片. 一.切片是引用类型,这里要稍微介绍两个概念:值类型,构造类型和引用类型 1.值类型:是一种由类型的实 ...

  9. Spring学习之旅(三)--装配Bean

    装配 Bean 的方式 在 XML 中进行显式配置 在 Java 中进行显式配置 隐式的 Bean 发现机制和自动装配 Spring 提供了以上三种方式进行 Bean 的配置,可以根据自己的需求选择一 ...

随机推荐

  1. PIM-DM协议内核触发机制及协议执行机制记录

    PIM-DM和PIM-SM是组播路由ASM(随意信源组播)中的两种不同模式.相对PIM-SM的组播注冊机制.PIM-DM的扩散机制显得更加粗犷. 一.PIM-DM无需向内核注冊pimreg虚接口. 可 ...

  2. HDU 2846 Repository (字典树 后缀建树)

    Repository Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total ...

  3. Spring 配置文件头部xmls解析

    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w ...

  4. js数组sort方法详解

    在处理数组的时候,我们有时候需要对数组进行排序,排序的方法有很多种,但是最好最快的就是利用sort方法进行快速的排序. 我们来看一个例子: var arr1 = [6, 3, 4, 1, 2, 5, ...

  5. C#开发 —— 异常处理

    System.ArithmeticException 在算术运行期间发生异常 System.ArrayTypeMismatchException 存储元素的实际类型与数组的实际类型不兼容而导致存储失败 ...

  6. JS 在HTML页面显示当前日期

    代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <t ...

  7. logout命令用于退出当前登录的Shell

    logout命令用于退出当前登录的Shell

  8. Hive通过查询语句向表中插入数据过程中发现的坑

    前言 近期在学习使用Hive(版本号0.13.1)的过程中,发现了一些坑,它们也许是Hive提倡的比关系数据库更加自由的体现(同一时候引来一些问题).也许是一些bug.总而言之,这些都须要使用Hive ...

  9. [ES6] Extends class in ES6 vs ES5 subclass

    ES6 class with extends and super: class Tree { constructor(size = ', leaves = {spring: 'green', summ ...

  10. JavaScript入门:003—JS中的变量

    编程语言都是同样的,JS中也是有变量的.首先JS的变量是区分大写和小写的,这个须要注意.比方number和Number是不同的变量.无论是经常使用类型的,还是对象类型,比方 Object obj和Ob ...