Go语言-控制结构 (if,switch,for,goto)

本文介绍了Go语言中的控制结构,包括if-else的使用,无需break的switch语句,传统的for循环以及其两种特殊形式,还有goto和标签的配合。强调了在Go中,switch后面的case不包含条件会直接执行,for-range提供迭代功能,而goto应谨慎使用。
摘要由CSDN通过智能技术生成

1 if-else

condition条件不需要括号,跟其他语言的if-else没有区别。
格式固定,不可以更改,比如改变{}的位置,是不行的。

if condition1 {
    // do something 
} else if condition2 {
    // do something else    
} else {
    // catch-all or default
}

一些常见判断

//判断字符串为空
if str == "" {
    ...
}
if len(str) == 0 {
    ...
}

//判断当前操作系统类型
if runtime.GOOS == "windows" {
    ...
}

//判断语句中定义变量,这么做唯一的实际意义是限制val的作用域在if语句块内部
if val := 10; val > max {
    // do something
}

//有error返回的函数,判断其结果,出现错误通过return 返回或者os.Exit(1)退出
an, err := strconv.Atoi(orig)
if err != nil {
    fmt.Printf("orig %s is not an integer - exiting with error\n", orig)
    return
} 
//这是一些习惯用法,但是我并不觉得有太大的必要
if value, ok := readData(); ok {
    …
}

2 switch

switch var1 {
    case val1:
        ...
    case val2, val3:
        ...
    default:
        ...
}

是不需要break的,自动从某个case跳出。也不需要花括号括起来。

所以小心C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值