2.3 流程及函数.pdfVIP

  • 0
  • 0
  • 约1.06万字
  • 约 13页
  • 2017-06-19 发布于湖北
  • 举报
2.3 流程和函数 这⼩节我们要介绍Go⾥⾯的流程控制以及函数操作。 流程控制 流程控制在编程语⾔中是最伟⼤的 明了,因为有了它,你可以通过很简单的流程描 述来表达很复杂的逻辑。Go 中流程控制分三⼤类:条件判断,循环控制和⽆条件跳 转。 if if也许是各种编程语⾔中最常见的了,它的语法概括起来就是:如果满⾜条件就做某 事,否则做另⼀件事。 Go⾥⾯if条件判断语句中不需要括号,如下代码所⽰ if x 10 { fmt.Println(x is greater than 10) } else { fmt.Println(x is less than 10) } Go的if还有⼀个强⼤的地⽅就是条件判断语句⾥⾯允许声明⼀个变量,这个变量的 作⽤域只能在该条件逻辑块内,其他地⽅就不起作⽤了,如下所⽰ // 计算获取值x,然后根据x返回的⼤⼩,判断是否⼤于10。 if x := comp tedVal e(); x 10 { fmt.Println(x is greater than 10) } else { fmt.Println(x is less than 10) } //这个地⽅如果这样调⽤就 译出错了,因为x是条件⾥⾯的变量 fmt.Println(x) 多个条件的时候如下所⽰: if integer == 3 { fmt.Println(The integer is eq al to 3) } else if integer 3 { fmt.Println(The integer is less than 3) } else { fmt.Println(The integer is greater than 3) } goto Go有goto语句——请明智地使⽤它。⽤goto跳转到必须在当前函数内定义的标签。 例如假设这样⼀个循环: f nc myF nc() { i := 0 Here: //这⾏的第⼀个词,以冒号结束作为标签 println(i) i++ goto Here //跳转到Here去 } 标签名是⼤⼩写敏感的。 for Go⾥⾯最强⼤的⼀个控制逻辑就是for,它即可以⽤来循环读取数据,又可以当 作while来控制逻辑,还能迭代操作。它的语法如下: for expression1; expression2; expression3 { // ... } expression1、expression2和expression3都是表达式,其中expression1 和expression3是变量声明或者函数调⽤返回值之类的,expression2是⽤来条件 判断,expression1在循环开始之前调⽤,expression3在每轮循环结束之时调 ⽤。 ⼀个例⼦⽐上⾯讲那么多更有⽤,那么我们看看下⾯的例⼦吧: package main import fmt f nc main(){ s m := 0; for index :=0; index 10 ; index++ { s m += index } fmt.Println(s m is eq al to , s m) } // 输出:s m is eq al to 45 有些时候需要进⾏多个赋值操作,由于Go⾥⾯没有,操作符,那么可以使⽤平⾏赋 值i, j = i+1, j-1 有些时候如果我们忽略expression1和expression3: s m := 1 for ; s m 1000; { s m += s m } 其中;也可以省略,那么就变成如下的代码了,是不是似曾相识?对,这就是while 的功能。 s m := 1 for s m 1000 { s m += s m } 在循环⾥⾯有两个关键操作break和contin e ,break操作是跳出当前循 环,contin e是跳过本次循环。当嵌套过深的时候,break可以配合标签使⽤,即 跳转⾄标签所指定的位置,详细参考如下例⼦: for index := 10; index0; index-- { if index == 5{ break // 或者contin e } fmt.Println(index) }

文档评论(0)

1亿VIP精品文档

相关文档