Golang 基本语法学习笔记之流程控制

条件判断

//实例

func fn01(x int) int {

        var a int

        if a = 4; x == 0 {

                x = a + x

                return 5

        } else {

                return x

        }

}
  • 条件语句不需要使用括号将条件包含起来();
  • 无论语句体内有几条语句,花括号{}都是必须存在的;
  • 左花括号{必须与if或者else处于同一行;
  • 在if之后,条件语句之前,可以添加变量初始化语句,使用;间隔

选择语句

//实例

func fnswitch(y int64) int64 {

        switch y {

        case 12:

                fmt.Println("y is ", y)

        case 14:

                y += 54

                fmt.Println("y is ", y)

                fallthrough

        case 15, 16:

                y += 100

                fmt.Println("y is ", y)

        }

        return y

}

  • 左花括号{必须与switch处于同一行;
  • 条件表达式不限制为常量或者整数;
  • 单个case中,可以出现多个结果选项;
  • 与C语言等规则相反,Go语言不需要用break来明确退出一个case;
  • 只有在case中明确添加 fallthrough 关键字,才会继续执行紧跟的下一个case;
  • 可以不设定switch之后的条件表达式,在此种情况下,整个switch结构与多个if...else...的逻辑作用等同。

循环语句GO中只有 for 循环

  1. sum := 0
  2. for i := 0; i < 10; i++ {
  3. sum += i
  4. }
  5. //或
  6. sum := 0
  7. for {
  8. <span style="white-space:pre"> </span>sum++
  9. <span style="white-space:pre"> </span>if sum > 100 {
  10. <span style="white-space:pre"> </span>break
  11. <span style="white-space:pre"> </span>}
  12. }

复制代码

跳转语句

func myfunc() {

    i := 0

    HERE:

    fmt.Println(i)

    i++

    if i < 10 {

       goto HERE

    }

}

原文发布于微信公众号 - Golang语言社区(Golangweb)

原文发表时间:2016-01-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏达摩兵的技术空间

js代码规范

20. 判断是否相等时候 采用=== 判断包括类型的相等 21. 尽量使用语法严格模式 消除代码之中的不友好;代码运行更快 ;保证运行的安全 ;为新版本的...

2293
来自专栏互联网杂技

JS中Null与Undefined的区别

Undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。 Null类型也只有一个值,即null。n...

3244
来自专栏数据结构与算法

P2085 最小函数值(minval)

题目描述 有n个函数,分别为F1,F2,...,Fn。定义Fi(x)=Aix^2+Bix+Ci (x∈N*)。给定这些Ai、Bi和Ci,请求出所有函数的所有函数...

3275
来自专栏青玉伏案

算法与数据结构(十三) 冒泡排序、插入排序、希尔排序、选择排序(Swift3.0版)

本篇博客中的代码实现依然采用Swift3.0来实现。在前几篇博客连续的介绍了关于查找的相关内容, 大约包括线性数据结构的顺序查找、折半查找、插值查找、Fibon...

1917
来自专栏前端桃园

看完这几道 Promise 面试题,还被面试官问倒算我输

最近在复习 Promise 的知识,所以就做了一些题,这里挑出几道题,大家一起看看吧。

1111
来自专栏Golang语言社区

Golang语言社区--【基础知识】范围规则

在任何编程程序的作用域,其中一个定义的变量可以有它的存在,超出该变量的区域就不能访问。有三个地方变量可以在Go编程语言声明如下: 内部函数或这就是所谓的局部变量...

33414
来自专栏我的博客

Python基础知识

print 打印语句 # 注释语句 print语句中带有变量可以把变量和字符串使用,隔开或者使用+进行连接 逗号会用空格分开两个变量,+会把两个变量作为一...

3255
来自专栏前端迷

在循环内使用闭包(Closures)

闭包的本质是一个内部函数访问其作用域之外的变量。闭包可以用于实现诸如 私有变量 和 创建工厂函数之类的东西。

972
来自专栏信安之路

Python 2.7 正则中篇

如上面元字符对照表里的所有字符在正则中表现是一个范围而不能作为字符匹配,例如[0-9]之中的-用来表示0到9的一个范围,而不能匹配横线字符。

1080
来自专栏Golang语言社区

厚土Go学习笔记 | 16. go语言有指针 没有指针运算

指针内其实就是保存了一个变量地址。 var p *int 这行代码声明了一个 int 类型的指针 p i := 42 p = &i & 符号是取地址符,&i 代...

35610

扫码关注云+社区

领取腾讯云代金券