由于Go没有逗号表达式,而++和–是语句而不是表达式,如果想在for中执行多个变量,需要使用平行赋值

for i, j := 1, 10; i < j; i,j=i+1,j+1 {  //死循环fmt.Println(i)
}

而不能写成

for i, j := 1, 10; i < j; i++,j++ {fmt.Println(i)
}

for的condition在每执行一次循环体时便会执行一次,因此在实际开发过程中需要注意不要让condition中计算简单而不是复杂。

for i,j :=0,len(str); i<j ; i++ {fmt.Println(str[i])
}

而不要写成

for i=0; i< len(str); i++ {fmt.Println(str[i])
}

另外for是遍历string,array,slice,map,chanel的方式,而使用保留字rang则能灵活的处理。rang是迭代器,能根据不同的内容,返回不同的东西。

for index,char := range string {}
for index,value := range array {}
for index,value := range slice {}
for key,value := range map {}

需要注意的是for range遍历string时得到的是字节索引位置和UTF-8格式rune类型数据(int32)。

for pos, value := range "Go在中国" {fmt.Printf("character '%c' type is %T value is %v, and start at byte position %d \n", value,value,value, pos)str :=string(value)  //convert rune to stringfmt.Printf("string(%v)=>%s \n",value,str)
}---------OutPut------------ 一个汉字占三个字节
character 'G' type is int32 value is 71, and start at byte position 0
string(71)=>G
character 'o' type is int32 value is 111, and start at byte position 1
string(111)=>o
character '在' type is int32 value is 22312, and start at byte position 2
string(22312)=>在
character '中' type is int32 value is 20013, and start at byte position 5
string(20013)=>中
character '国' type is int32 value is 22269, and start at byte position 8
string(22269)=>国

golang for循环 使用多个变量相关推荐

  1. Golang for循环使用多个变量

    由于Go没有逗号表达式,而++和–是语句而不是表达式,如果想在for中执行多个变量,需要使用平行赋值 for i, j := 1, 10; i < j; i,j=i+1,j+1 { //死循环f ...

  2. golang for循环的重新认识

    顺手写了,编译器报错 package mainimport ("fmt""time" )var ch1 = make(chan int) var ch2 = m ...

  3. python定义一个整数变量_python循环定义多个变量的实例分析

    python循环定义多个变量方法 我们可能会时长碰到这样一个场景,计算得到一个非固定值,需要根据这个值定义相同数量个变量. 实现方式的核心是exec函数,exec函数可以执行我们输入的代码字符串. e ...

  4. Golang for循环

    Golang for循环 for循环是Golang唯一的循环语句.for循环主要是用在挨个挨个取出数据的情况下.比如老师点名,老师点名的时候不可能一口气说出全班同学的名字,所以只能一个一个的点名,那么 ...

  5. C语言 关于for循环里定义的变量

    C语言 关于for循环里定义的变量 关于在for外定义变量与for内定义的变量 for内定义变量申请内存 关于在for外定义变量与for内定义的变量 如果在同一个作用域内定义重复的变量名,会发生错误: ...

  6. js中for循环作用域的问题(变量提升)

    for循环定义的变量不管里面有多少函数,变量在里面的所有函数里面都是可以取到的. js的变量提升(var是全局变量,同时只在定义的函数方法可以理解为局部变量) var在for循环里面定义的变量其实也是 ...

  7. 探究MATLAB循环语句内部的变量

    C++中,for循环是一条符合语句,循环控制变量可以定义在这条语句内部,且在这条语句内部,也可以定义其他的变量.循环已结束,这条语句内部定义的变量均会被释放. 我们来看MATLAB是不是这样的,在MA ...

  8. golang for循环_10. Go语言流程控制:for 循环

    本文原文:http://golang.iswbm.com Github:http://github.com/iswbm/GolangCodingTime Go里的流程控制方法还是挺丰富,整理了下有如下 ...

  9. python的for循环和for each循环遍历时改变变量的结果

    foreach循环 python的list是一组可变变量的指针,有长度和容量区别,会自动调整容量,类似于golang的机制 a=[0,1,2]​b=[-1]*6i=0​#姑且称为前者,后者#forea ...

最新文章

  1. Win8/Win8.1值得做的十多项优化方法
  2. 职责链模式(chain of responsibility)
  3. 洛谷P1372 又是毕业季IP1414 又是毕业季II[最大公约数]
  4. 进程通信学习笔记(管道)
  5. FCKeditor 在ASP.Net 中的使用说明
  6. 37、Power Query-不使用IF嵌套进行匹配
  7. java输入数量扑克牌排序_Java扑克游戏(多人多牌数比较游戏)的实现
  8. java版 modbus crc16校验 (已测试成功)_java版 ModBus CRC16校验 (已测试成功)
  9. 第一百一十二期:96秒100亿!如何抗住双11高并发流量?
  10. 淘宝客程序 —— 突破了传统淘宝客程序对自动采集商品收费的模式
  11. [网络流24题] 最长递增子序列
  12. python 迭代器相关知识
  13. 关于PF_INET和AF_INET的区别
  14. was如何使用gzip_一文详解前端Node原生模块zlib,开启gzip压缩让页面响应速度更快...
  15. 服务器防火墙有哪些功能和作用?
  16. table表格固定thead,tbody可滑动
  17. 使用win32API获取打印机是否处于脱机状态
  18. Springboot毕设项目乐器乐曲交易系统tw5iy(java+VUE+Mybatis+Maven+Mysql)
  19. 计算机导论课后总结三
  20. Trie(前缀树,prefix tree)

热门文章

  1. 中移动TD终端资助或只限五洋巨头
  2. 数据中心网络架构 — CLOS 网络架构的起源于发展
  3. Linux_Samba详解
  4. NR 5G SA注册流程
  5. 网站被黑搜索快照被劫持怎么办
  6. C语言 · 分糖果
  7. 第四次团队作业——系统设计
  8. [LeetCode]--38. Count and Say
  9. SPOJ problem 42: Adding Reversed Numbers
  10. apache下配置php