`

Go语言流程控制语句if、goto、for、switch

Go 
阅读更多

最近在看go语言,虽然网上大多数的评论都是在吐槽go语言,但是我喜欢简单的东西,我不拿它和任何语言去比,去用每一种语言完全是自己兴趣问题。

还没开始就跑题了 ~~!回到标题上来,golang的流程控制,刚开始学go,记性一直都不怎么好,做个笔记

流程控制包含三大类:条件判断、循环控制和无条件跳转。

if

go语言的if

package main
 
import (
    "fmt"
)
 
func main() {
    if a := 8; a > 2 {
        fmt.Println("a 比 10 大")
    } else {
        fmt.Println("a 比 10 小")
    }
}

输出  a 比 2 大

if语句允许在if里面声明变量,但是这个变量的作用域只在该条件逻辑块内。

 

goto

package main
import (
    "fmt"
)
func mygoto() {
    i := 0
Here:
    fmt.Println(i)
    i++
    goto Here    //跳转到Here
}
func main() {
    mygoto()
}

友情提示:如果你不小心看到这段代码最好还是别试了,听我的,没错

for循环

go语言里面最强大的一个控制逻辑 for,既可以用来循环读取数据,又可以当做while来控制逻辑,还能迭代操作,语法如下:

package main
import (
    "fmt"
)
func main() {
    a := 0
    for index := 0; index < 10; index++ {
        a += index
    }
    fmt.Println(a)
}

输出结果为 45

 

for可以代替while,忽略expression1 和 expression3 

func main() {
    a := 1
    for a < 1000 {
        a += a
    }
    fmt.Println(a)
}

循环中的两个关键操作,break和continue,break是跳出当前循环,continue是跳出本次循环

for a := 10; a > 0; a-- {
        if a == 5 {
            break //或者continue
        }
        fmt.Println(a)
    }
//break打印出来为10,9 , 8 , 7 , 6
//continue打印出来为10,9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1

for配合range可以读取slice和map的数据

func main() {
    a := [5]int{1, 2, 3, 4, 5}
    for k, v := range a {
        fmt.Println("key:", k)
        fmt.Println("value:", v)
    }
}

如果只想输出value而不想要key,像下面这么写编译会出错,因为go语言对于“声明而未被调用”的变量在编译阶段会报错,但是可以用“_”下划线来丢弃

func main() {
    a := [5]int{1, 2, 3, 4, 5}
    for k, v := range a {
        fmt.Println("value:", v)
    }
}

修改为

func main() {
    a := [5]int{1, 2, 3, 4, 5}
    for _, v := range a {
        fmt.Println("value:", v)
    }
}

switch

switch和许多语言中的用法一样,在if-else需要很多的时候可以用switch

func main() {
    a := 4
    switch a {
    case 1:
        fmt.Print("123")
    case 2, 3, 4:
        fmt.Print("456")
        fallthrough 
    default:
        fmt.Print("789")
    }
}

上面程序输出结果为 456789

根本不用break结尾,go语言默认每个case最后都带有break

fallthrough用于强制执行下一个case语句

 

OK,The End!

 


发布于:http://www.golune.com/blog/content/4b6fe6c324a8337ebe05679ed4c34fae8ec86

分享到:
评论

相关推荐

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

    主要介绍了Go语言流程控制之goto语句与无限循环,是golang入门学习中的基础知识,需要的朋友可以参考下

    PHP语言基础知识(超详细).md

    if条件控制语句 if嵌套语句 switch语句使用 while循环语句说明 for循环语句 goto循环语句 PHP函数基本语法 PHP数组结构 for循环遍历索引数组 常用操作数组函数 PHP正则表达式 PHP文件系统管理 fopen、fread、...

    c++控制语句 控制结构

    程序的基本控制结构 表达式语句 函数调用语句 空语句 复合语句 if语句、if-else语句、switch语句 while语句、do-while语句、for语句 continue语句、break语句、goto语句、return语句

    第三章 C语言程序控制语句与结构化

    C语言根据语句执行是否可以改变程序流程,可以分为四类: (1)顺序语句 表达式语句 空语句: 只有一个分号 复合语句:用大括号括起来的一组语句,这组语句被看成一个整体 (2)选择语句:用来解决实际应用当中的...

    Go语言入门指南大纲及框架建议:轻松掌握Go语言学习秘诀.docx

     条件语句(if, switch)  循环语句(for, range)  跳转语句(break, continue, goto) 6. 函数与方法  函数的定义与调用  函数参数传递(值传递与引用传递)  函数返回值  匿名函数(闭包)  方法...

    C++switch goto break for 循环 教程与实例

    C++switch goto break for 循环 教程与实例

    bat编程_批处理

    bat编程_批处理 包含 echo for in loop end loop netsh ping tracert netstat natstat 等

    Arduino编程参考手册中文版(带目录适合打印).rar

    控制语句 4 if 4 if...else 5 for 6 switch case 8 while 9 do...while 10 break 11 continue 11 return 12 goto 13 相关语法 14 分号 14 大括号 15 注释 17 define 18 include 19 算术运算符 20 赋值 20 加,减,乘...

    VB GoTo语句用法实例

    VB GoTo语句用法实例 VB GoTo语句用法实例

    GO语言基础学习文档

    一、 GO语言环境搭建 2 二、 Go 命令 2 go build 3 go clean 4 go fmt 4 go get 4 go install 4 go test 4 go doc(godoc) 5 三、 Go基础 5 关键字 5 定义变量 5 常量 6 内置基础类型 6  Boolean 6  数值类型 6 ...

    lua 5.2 中GOTO语句的使用

    lua 5.2 中GOTO语句的使用lua 5.2 中GOTO语句的使用

    go语言goto语句跳转到指定的标签实现方法

    Go 语言中使用 goto 语句能简化一些代码的实现过程。 使用 goto 集中处理错误 package main import "fmt" func main() { for x := 0; x &lt; 10; x++ { for y := 0; y &lt; 10; y++ { if y == 2 { // 跳转到...

    bat批处理脚本.docx

    批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令。当然,批处理文件的编程能力与C语言等编程语句比起来是十分...

    if命令IF %ERRORLEVEL% LEQ 1 goto okay

    运行程序后,以下语句说明 ERRORLEVEL 的用法: goto answer%ERRORLEVEL% :answer0 echo Program had return code 0 :answer1 echo Program had return code 1 您也可以使用以上的数字比较: 如果没有名为 ...

    《C程序设计语言》(非扫描.新版)

    C程序设计语言 第1章 导言 1.1 入门 1.2 变量与算术表态式 1.3 for语句 1.4 符号常量 1.5 字符输入/输出 1.6 数组 1.7 函数 1.8 参数——传值调用 1.9 字符数组 1.10 外部变量与作用域 第2章 类型、运算符与表达式 ...

    运行C程序总是从main函数开始。

    (1) 控制语句。 1) if()…else… 条件语句 2) for()… 循环语句 3) while()… 循环语句 4) do…while() 循环语句 5) continue 结束本次循环语句 6) break 中止执行switch或循环语句 7) switch 多分支选择...

    c++基础(运算符和流程结构语句)

    "11dowhile语句和水仙花" "12for循环和水仙花" "13嵌套循环" "14九九乘法口诀" "15猜数字" "16goto语句" "01早读英语" "02总结" "03运算符表达式" "04运算符的有限级别" "05类型转换" "06if条件语句" "07三只小猪称...

    break_continue_goto_return语句

    break_continue_goto_return语句

    C#goto语句查询源代码

    C#048goto语句查询

    C语言程序设计标准教程

     if语句,switch语句 (2) 循环执行语句  do while语句,while语句,for语句 (3) 转向语句  break语句,goto语句,continue语句,return语句 4.复合语句 把多个语句用括号{}括起来组成的一个语句称复合语句。 在...

Global site tag (gtag.js) - Google Analytics