Go语言流程控制语句

1.条件语句

几个注意点和C#不一样的。

if a < 5 {
       return 0
} else {
       return 1
}

① 条件语句不需要使用括号将条件包含起来 a<5 ,C#必须有()

②无论语句体内有几条语句,花括号{}都是必须存在的;C#如果只有一条语句可以省略{}

③左花括号{必须与if或者else处于同一行 C#的{}是换行的

④在有返回值的函数中,不允许将“最终的”return语句包含在if...else...结构中,

否则会编译失败(这句话错误的 1.1版Go语言和之后的新版已经支持if else条件语句直接return返回值。),所以上面的demo是可以编译通过的。

2.选择语句

①条件表达式不限制为常量或者整数

②单个case中,可以出现多个结果选项

③Go语言不需要用break来明确退出一个case;C#需要在每一个case结束之后加上break

④增加了fallthrough方法 主要用于多个相同case合并,Go就相当于默认加了break;

和C#正好相反

switch i {
case 0:
   fmt.Printf("0")
case 1:
   fmt.Printf("1")
case 2:
   fallthrough
case 3:
   fmt.Printf("3")
case 4, 5, 6:
   fmt.Printf("4, 5, 6")
default:
   fmt.Printf("Default")
}

如上例子,case 2中有语句fallthrough,那么当i=2时候,执行完fallthrough会执行case3,由此打印出了“3”

⑤可以不设定switch之后的条件表达式,在此种情况下,整个switch结构与多个if...else... 的逻辑作用等同。如下代码

switch {
case 0 <= Num && Num <= 3:
   fmt.Printf("0-3")
case 4 <= Num && Num <= 6:
   fmt.Printf("4-6")
case 7 <= Num && Num <= 9:
   fmt.Printf("7-9")
}

3.循环语句

Go语言中的循环语句只支持for关键字,而不支持while和do-while结构。

①for后面的条件表达式不需要用圆括号()包含起来

模拟while语句:直接用for后面不加条件

sum := 0
for {
    sum++
    if sum > 100 {
       break
    }
}

②for循环中条件表达式中也支持多重赋值

a := []int{1, 2, 3, 4, 5, 6}
for i, j := 0, len(a) – 1; i < j; i, j = i + 1, j – 1 {
      a[i], a[j] = a[j], a[i]
}

如上代码:

a) 初始值 i=0 ,j= len(a) – 1

b)循环的条件是 i < j

c)每执行一次 i+1 ,j-1

循环体: a[i], a[j] = a[j], a[i]

Go语言中的for循环与C语言一样,都允许在循环条件中定义和初始化变量,唯一的区别是,Go语言不支持以逗号为间隔的多个赋值语句,必须使用平行赋值的方式来初始化多个变量。

③Go语言的for循环同样支持continue和break来控制循环,但是它提供了一个更高级的break,可以选择中断哪一个循环, 如下代码:

break语句终止的是JLoop标签处的外层循环

for j := 0; j < 5; j++ {
    for i := 0; i < 10; i++ {
        if i > 5 {
             break JLoop
         }
     fmt.Println(i)
  }
}
JLoop: //Do Something

如果是C#,只能跳出第一层循环,而不能直接跳出第二层循环,这也是区别的地方之一

4.跳转语句

Go语言支持goto语句

func myfunc() {
  i := 0
  HERE:
   fmt.Println(i)
  i++
  if i < 10 {
    goto HERE
  }
}

for…range 是什么,就相当于原来的foreach中迭代 k,v结构。

for index, value := range mySlice {
  fmt.Println("index: " + index)
  fmt.Println("value: " + value)
}

当迭代切片时,关键字range 会返回两个值。第一个值是当前迭代到的索引位置,第二个

值是该位置对应元素值的一份副本

这张图比较好的说明了range的返回值,重点在于值是副本

到此这篇关于Go语言流程控制语句的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • go流程控制代码详解

    if •Go里面if条件判断语句中不需要括号,条件判断语句里面允许声明一个变量,任何在这里声明的变量都可以在所有的条件分支中使用. if x := 11; x > 10 { fmt.Println("x is greater than 10") } else { fmt.Println("x is less than 10") } goto •用goto跳转到必须在当前函数内定义的标签,标签名是大小写敏感的. func myFunc() { i := 0 He

  • Golang通脉之流程控制详情

    目录 1.if else(分支结构) 1.1 if条件判断基本写法 1.2 if条件判断特殊写法 2.for(循环结构) 2.1 无限循环 3.for range(键值循环) 4.switch case 5.goto(跳转到指定标签) 6.break(跳出循环) 7.continue(继续下次循环) 前言: 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的"经脉". Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码.

  • Go语言中的流程控制结构和函数详解

    这小节我们要介绍Go里面的流程控制以及函数操作. 流程控制 流程控制在编程语言中是最伟大的发明了,因为有了它,你可以通过很简单的流程描述来表达很复杂的逻辑.Go中流程控制分三大类:条件判断,循环控制和无条件跳转. if if也许是各种编程语言中最常见的了,它的语法概括起来就是:如果满足条件就做某事,否则做另一件事. Go里面if条件判断语句中不需要括号,如下代码所示: 复制代码 代码如下: if x > 10 {     fmt.Println("x is greater than 10&

  • Go语言流程控制之goto语句与无限循环

    goto语句 在Go编程语言中的goto语句提供无条件跳转从跳转到标记声明的功能. 注意:使用goto语句是高度劝阻的在任何编程语言,因为它使得难以跟踪程序的控制流程,使程序难以理解,难以修改.使用一个goto任何程序可以改写,以便它不需要goto. 语法 转到goto语句的语法如下: 复制代码 代码如下: goto label; .. . label: statement; 在这里,标签(label)可以是除去关键字任何纯文本,它可以在任何地方设置在Go程序的上方或下方,以使用goto语句.

  • Go语言流程控制详情

    目录 1.流程控制 2.if 语句 3.goto 4.for语句 5.switch 1.流程控制 流程控制在编程语言中是最伟大的发明了,因为有了它,你可以通过很简单的流程描述来表达很复杂的逻辑. 流程控制包含分三大类:条件判断,循环控制和无条件跳转. 2.if 语句 if 也许是各种编程语言中最常见的了,它的语法概括起来就是: 如果满足条件就做某事,否则做另一件事. Go 里面 if 条件判断语句中不需要括号,如下代码所示: if x > 10 {     fmt.Println("x i

  • Go语言流程控制语句

    1.条件语句 几个注意点和C#不一样的. if a < 5 { return 0 } else { return 1 } ① 条件语句不需要使用括号将条件包含起来 a<5 ,C#必须有() ②无论语句体内有几条语句,花括号{}都是必须存在的:C#如果只有一条语句可以省略{} ③左花括号{必须与if或者else处于同一行 C#的{}是换行的 ④在有返回值的函数中,不允许将“最终的”return语句包含在if...else...结构中, 否则会编译失败(这句话错误的 1.1版Go语言和之后的新版已

  • C语言中常见的几种流程控制语句

    目录 1.goto语句 2.if语句 3.switch语句 4.while循环 5.do...while循环 6.for循环 break和continue 总结 1.goto语句 goto语句是一种无条件转移语句,goto 语句的使用格式为: goto  语句标号; 其中语句标号是一个有效的标识符,这个标识符加上一个 ":" 一起出现在函数内某处,执行goto语句后,程序将跳转到该标号处并执行其后的语句: 另外语句标号必须与goto语句同处于一个函数中,但可以不在一个循环层中:通常go

  • C语言详细分析讲解流程控制语句用法

    目录 一.分支语句 1.if语句 2.switch语句 二.循环语句 1.for语句 2.break和continue语句 3.循环嵌套 4.while和do…while语句 一.分支语句 1.if语句 流程控制语句可以让程序中的语句不再从上到下逐条执行 分支是一种流程控制语句,可以把程序中某些语句忽略掉不去执行 if关键字可以用来编写分支语句,只有当表达式为真时,才会执行对应语句 如果多个分支的逻辑表达式之间存在互斥关系,则可以采用else关键字把他们合并成一个分支语句 一个分支语句中的多个逻

  • JavaScript基础之流程控制语句的用法

    第三部分:流程控制语句 JavaScript代码是书写位置: JavaScript代码应该写在<script type="text/javascript"></script>这一对标记中. 或者作为外部引用<script src="JavaScript代码路径"></script> JavaScript的每一句代码请用分号作为结束. 输出语句 1.控制台输出:console.log(); 它可以在控制台中输出一些信息,

  • 详解JavaScript的流程控制语句

    JS的核心ECMAScript规定的流程控制语句和其他的程序设计语言还是蛮相似的.我们选择一些实用的例子来看 一下这些语句.顺序结构我们在这里就不再提到,直接说条件和循环以及其他语句. 一.条件选择结构        条件选择语句用于基于不同的条件来执行不同的动作,通常在写代码时,总是需要为不同的决定来执行不同的 动作,可以在代码中使用条件语句来完成该任务.        在JavaScript中,我们可使用以下条件语句: if 语句:只有当指定条件为true时,使用该语句来执行代码 <!DOC

  • Python中的程序流程控制语句

    目录 一.分支语句 二.循环语句 1.可迭代对象 2.while循环 3.for循环 4.九九乘法表 三.循环控制语句 1.break 2.continue 3.goto 4.else 四.循环相关的内置函数 1.enumerate() 2.zip() 3.map() 五.总结 前言: 本篇博客将会讲述一下Python语言中的流程控制语句,在高中我们数学中学过程序流程题,达到一个目的往往需要从开始一步一步往下走,有时顺序执行.有时面临选择.有时面临循环.循环与选择控制着整个流程.看到下面的图片是

  • 基于php流程控制语句和循环控制语句(讲解)

    1.流程控制语句主要有if.ii...else.elseif(有时也可以写成else if).switch四种. PHP中语句格式为: if(条件满足) {执行语句} if(条件满足) {执行语句} else {执行语句} if(条件满足) {执行语句} elseif {执行语句} elseif {执行语句} ....... else {执行语句} switch(条件) {case 1:语句:break: case 2:语句:break: case 3:语句:break: default:语句:

  • javascript流程控制语句集合

    一.if语句 if语句是最基本的条件判断语句.根据表达式条件来执行相应的处理.语法示例如下: var a=5; //声明变量a,并赋值为5. var b; //声明变量b. if(a==b){ //判断,如果a=b,则执行下面内容 alert("b=5"); //弹窗,b=5. } 1.a==b是if语句中的条件.     2.alert("a=c")是if语句中的结果.     此段脚本的含义是:声明变量a.b,且赋值a=5:当a=b时,弹窗b=5.     注:

  • python学习 流程控制语句详解

    ###################### 分支语句 python3.5 ################ #代码的缩进格式很重要 建议4个空格来控制 #根据逻辑值(True,Flase)判断程序的运行方向 # Ture:表示非空的量(String,tuple元组 .list.set.dictonary),所有非零的数字 # False:0,None .空的量 #逻辑表达式 可以包含 逻辑运算符 and or not if: ##################################

  • 简单谈谈Python流程控制语句

    人们常说人生就是一个不断做选择题的过程:有的人没得选,只有一条路能走:有的人好一点,可以二选一:有些能力好或者家境好的人,可以有更多的选择:还有一些人在人生的迷茫期会在原地打转,找不到方向.对于相信有上帝的人来讲,这就好像是上帝事先为我们制定好了人生路线,也好像是那些神仙为唐曾师徒的取经之路提前设置的重重磨难,上帝和神仙掌控了一切.编程语言可以模拟人类生活的方方面面,程序员就像上帝和神仙一样可以通过编程语言中特殊的关键字控制程序的执行过程,这些关键字组成的就是流程控制语句. 编程语言中的流程控制

随机推荐