golang学习(3):go的流程和函数

栏目: Go · 发布时间: 7年前

内容简介:很容易解释,goto就是把改变了程序的执行顺序,直接跳到标签的位置开始执行,比如示例中第二种for配合range可以用于读取slice和map的数据另外还有

一、流程控制

  1. if 和其他语言没什么区别,只是判断语句不加括号,比如:
if integer := 5; integer == 3 {
        fmt.Println("The integer is equal to 3")
    } else if integer < 3 {
        fmt.Println("The integer is less than 3")
    } else {
        fmt.Println("The integer is greater than 3")
    }
  1. goto 这个就神奇了,用goto跳转到必须在当前函数内定义的标签,上代码比较好:
i := 5
here:
    i++
    fmt.Println(i)
    if i < 10 {
        goto here
    } else {
        goto there
    }
    fmt.Printf("没有到这里")
there:
    fmt.Printf("直接到这里")

输出结果:6 7 8 9 10 直接到这里

很容易解释,goto就是把改变了程序的执行顺序,直接跳到标签的位置开始执行,比如示例中 thereher e就是两个标签。特别注意的是标签名是 大小写 敏感的。

  1. forgo中的for用法很多,基本你能想到的,试试都可以行的通,主要介绍两种:

    第一种是最基本的用法,三个条件语句,当然你也可以定义一个什么的

for a := 5;a<10;a++{
    fmt.Println(a)
 }

第二种for配合range可以用于读取slice和map的数据

for k,v:=range map {
    fmt.Println("map's key:",k)
    fmt.Println("map's val:",v)
}

另外还有 breakcontinue 关键字,break跳出循环,continue跳出本次循环。

  1. switch 示例说明:
i := 5
    switch i {
    case 1:
        println(1)
    case 5:
        println(5)
    case 3:
        println(1)
    }
//输出5 ,仅执行了第二个case
    switch i {
    case 1:
        println(1)
    case 5:
        println(5)
        fallthrough
    case 3:
        println(3)
        fallthrough
    case 4:
        println(4)
    case 6:
        println(6)
    }
//输出5 3 4

连个示例的关键在于 fallthrough 不同,有 fallthrough 的会强制执行他的下一个case,没有则不会

二、 函数

待续


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算机体系结构

计算机体系结构

John L. Hennessy、David A. Patterson / 机械工业出版社 / 2012-1 / 138.00元

编辑推荐 “本书之所以成为永恒的经典,是因为它的每一次再版都不仅仅是更新补充,而是一次全面的修订,对这个激动人心且快速变化领域给出了最及时的信息和最独到的解读。对于我来说,即使已有二十多年的从业经历,再次阅读本书仍自觉学无止境,感佩于两位卓越大师的渊博学识和深厚功底。” ——Luiz André Barroso,Google公司 内容简介 本书堪称计算机系统结构学科的“圣经......一起来看看 《计算机体系结构》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器

URL 编码/解码
URL 编码/解码

URL 编码/解码