博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
go学习笔记-流程控制(if/else,for/range)
阅读量:5280 次
发布时间:2019-06-14

本文共 1784 字,大约阅读时间需要 5 分钟。

流程控制(if/else,for/range)

if

if条件判断语句的语法概括起来就是:如果满足条件就做某事,否则做另一件事。

func testIf() {    num := 10    if num < 10 {        fmt.Println(`less than 10`)    } else if num == 10 {        fmt.Println(`equal 10`)    } else {        fmt.Println(`more than 10`)    }}

switch

switch语句用来解决很多if else的问题,语法如下

switch sExpr {    case expr1:        some instructions    case expr2:        some other instructions    case expr3:        some other instructions    default:        other code}

sExpr和expr1、expr2、expr3的类型必须一致。sExpr表达式不必是常量或整数,执行的过程从上至下,直到找到匹配项;而如果switch没有表达式,它会匹配true。witch默认相当于每个case最后带有break,匹配成功后不会自动向下执行其他case。

func testSwitch() {    i := 12    switch {    case i < 12:        fmt.Println("< 12")    case i == 12:        fmt.Println("= 12")    default:        fmt.Println("> 12")    }}

for

循环操作,既可以用来循环读取数据,又可以当作while来控制逻辑,还能迭代操作。它的语法如下:

for expression1; expression2; expression3 {    //...}expression1在循环开始之前调用,expression2是用来条件判断,expression3在每轮循环结束之时调用。

示例:

func testFor() {    sum := 0    for num := 1; num < 10; num++ {        sum += num    }    fmt.Println(sum)}

循环控制语句

循环控制语句可以控制循环体内语句的执行过程。

  • break 语句 经常用于中断当前 for 循环或跳出 switch 语句
  • continue 语句 跳过当前循环的剩余语句,然后继续进行下一轮循环。
for i := 1; i < 10; i++ {    if i == 5 {        continue    }    if i == 8 {        break    }    fmt.Println(i)}

range 关键字

range 关键字用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value 对的 key 值

arrs := [5]int{1, 2, 3, 4, 5}    for index, item := range arrs {        fmt.Println(index, item)    }    slices := []string{"a", "b", "c"}    for index, item := range slices {        fmt.Println(index, item)    }    maps := map[string]int{"a": 1, "b": 2, "c": 3}    for key, val := range maps {        fmt.Println(key, val)    }

转载于:https://www.cnblogs.com/SLchuck/p/9936878.html

你可能感兴趣的文章
HDU 4920 Matrix multiplication
查看>>
ACdream 1068
查看>>
会声会影毛玻璃制作
查看>>
HDU 2665 Kth number
查看>>
CodeChef DGCD Dynamic GCD
查看>>
记叙在人生路上对你影响最大的三位老师
查看>>
002.大数据第二天
查看>>
python装饰器
查看>>
树上的路径
查看>>
【转载】TCP好文
查看>>
系统平均负载
查看>>
问题总结
查看>>
jenkins升级为2.134
查看>>
软件随笔
查看>>
C/C++知识补充 (1)
查看>>
Fast Poisson Disk Sampling
查看>>
Python Cookbook(第3版)中文版:15.14 传递Unicode字符串给C函数库
查看>>
Linux下SVN自动更新web [转]
查看>>
编程:对经验世界的析构与建构
查看>>
Openstack api 学习文档 & restclient使用文档
查看>>