文档章节

go语言循环

z
 zhm0612
发布于 2017/05/31 17:23
字数 441
阅读 4
收藏 0
    今天学习了go的循环语句,就在这里回忆下。
     go语言的循环只有一种关键字,那就是for,虽然只有一种关键字,但是确支持3种形式
     1.无限循环
        for{
            fmt.Println("11")
        }
      2.有条件的
        for a>3{
            fmt.Println("22")
        }
      3.初始化并且有条件的
        for i:=0;i<3;i++{
            fmt.Println(i)
        }

    总结:
    1.左大括号必须跟for在同一行
     还有就是,如果你的循环条件是函数,那么不建议使用,因为条件在每次循环前都会被检查
    var  s = "abcds"
    for a:=1;a<len(s);a++{
            fmt.Println(a)
    }
    
    如果说循环,那么我们就不得不提结束循环语句
    结束循环语句的关键字有3个,分别为:goto、break、continue
    1.三者都可以配合标签使用
    2.标签区分大小写,如果标签定义了,但是不使用,编译会报错
    3.break、continue配合标签可以跳出多层循环
    4.goto是调整执行位置
    比如:
    **goto**
    
    	for a := 1; a < 3; a++ {
	for {
		fmt.Println(a)
		goto wode
	}
}
fmt.Println("wo")

wode: fmt.Println("结束")

结果:1 结束 goto为跳出循环,到标签的位置往下执行 注意:如果这时候将wode标签放置于循环前,那么将会进入到死循环 break wode: for a := 1; a < 3; a++ { for { fmt.Println(a) break wode } } fmt.Println("wo")

fmt.Println("结束")

结果:1
        wo
        结束

break为跳出最外层循环,继续往下执行其他语句(这里的其他语句指的是本循环外的语句)

continue

wode: for a := 1; a < 3; a++ { for { fmt.Println(a) continue wode } } fmt.Println("wo")

fmt.Println("结束")

结果:1 2 wo 结束 continue为结束离自己最近的循环

注意:break、continue的标签使用,必须放到自己的前面

© 著作权归作者所有

共有 人打赏支持
z
粉丝 0
博文 3
码字总数 1154
作品 0
[程序设计语言]-[核心概念]-03:控制流

0.概述 前面介绍了语言的演进以及一些基础概念后,从本篇开始进入了语言的核心问题中。这一篇讨论的是语言计算模型(大致可以用控制流来表述),大致如下7种: 顺序执行:最基本的流程控制,...

_blackheart
2014/08/27
0
0
【python】While 和for循环

1、While循环语句 这是我学习python第三天,由于之前学习过c、java等计算机语言,虽然不算精通,但基本语法也还算熟悉,本来这次想直接跳过python基础知识直接到下一阶段,但想着不同语言还是...

某吕子
2017/12/03
0
0
深入浅出详解,C/C++基础知识循环语句

有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。 编程语言提供了更为复杂执行路径的多种控制结构。 ...

诸葛玥
05/31
0
0
Swift - 条件语句、循环语句

一、条件语句 条件语句通过设定的一个或多个条件来执行程序,在条件为真时执行指定的语句,在条件为 false 时执行另外指定的语句。 可以通过下图来简单了解条件语句的执行过程: Swift提供了以...

Albert_Lee
2017/11/16
0
0
lua Mac brew 安装使用 及简单语法介绍

什么是lua Lua 是一门扩展式程序设计语言,被设计成支持通用过程式编程,并有相关数据描述设施。 同时对面向对象编程、函数式编程和数据驱动式编程也提供了良好的支持。 它作为一个强大、轻量...

一介布衣
2016/09/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java Web--增删改查之二界面后台java代码(转载参考)

/** *  *//** * @author Administrator * */package dao; import java.sql.*;public class DBConn {/** * 链接数据库 * @return */  ...

小橙子的曼曼
16分钟前
1
0
Redis源码阅读笔记-对象及其类型和编码

总结之《Redis设计与实现》 对象 Redis中是使用对象来便是数据库中的键和值。 结构 // server.h...#define LRU_BITS 24...typedef struct redisObject { unsigned type:4; ...

Jian_Ming
29分钟前
1
0
laravel框架常用目录路径

laravel框架常用目录路径 app_path()app_path函数返回app目录的绝对路径:$path = app_path();你还可以使用app_path函数为相对于app目录的给定文件生成绝对路径:$path = app_p...

高处胜寒
31分钟前
0
0
记一次winserver2003系统,https无法访问,内存占用持续增加,解决办法

先交代一下环境: win server2003系统,系统装在hyper-v虚拟机里 大概2016年底的镜像,距离今天两年左右 病症:大概9月10号左右用这个镜像还可以访问https,但是今天用这个镜像新装的系统,就...

阳阳露
46分钟前
3
0
Vue学习资料

一直以为Vue是依赖nodejs的。 作为前端也可以耦合性就很低了。 //npm包管理器 进行管理npm install vue//初始化一个项目vue init//本地调试npm run dev//编译完成 ...

大灰狼wow
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部