2.7 Go语言中的if-else

从本节开始学习Go语言中的控制结构,其实每一种语言的控制结构非常雷同,只是在关键字、格式上略有差别。

基本语法if-else

Go中基本if-else的使用方法

package main

import {
    "fmt"
}

func main() {
    if 5 > 1 {
        fmt.Println("bigger!")
    } else {
        fmt.Println("smaller!")
    }
}

多重条件if-else if-else

这里有几个知识点需要注意:

  • Go语言中else if的表达方法
  • 对于条件,可以有括号,也可以没有括号,根据计算优先级都是一样的
  • 或操作是||,并且是&&,否是!
  • Go语言中还有Switch的表达方式,如果有else if太多了,Switch是不错的选择
package main

import "fmt"

func main() {
    i := 8

    if !( i > 0 ) {
        fmt.Println("i is below zero")
    } else if ( i > 0 ) && ( i <= 3 ) {
        fmt.Println("i is between 0 and 3")
    } else if ( i > 3 && i <= 7 ) {
        fmt.Println("i is between 4 and 7")
    } else if ( ( i > 7 ) && ( i <= 10 ) ) {
        fmt.Println("i is between 7 and 10")
    } else {
        fmt.Println("i is bigger than 10")
    }
}

常用类型的空判断

这里罗列出常用变量类型的为空判断,可以看到整型、浮点型默认值等于0,布尔型为false,而数组和Map为nil

package main

import "fmt"

func main() {
    var b bool
    if !b {
        fmt.Printf("bool b default is %v\n", b)
    }

    var i int
    if i == 0 {
        fmt.Printf("i == 0: %v\n", i == 0)
    }

    var f float64
    if f == 0 {
        fmt.Printf("f == 0: %v\n", f == 0)
        fmt.Printf("f == 0.0: %v\n", f == 0.0)
    }

    var str string
    if str == "" {
        fmt.Printf("str == \"\": %v\n", str == "")
    }

    var myarray []int
    if myarray == nil {
        fmt.Printf("myarray == nil: %v\n", myarray == nil)
    }

    var mymap map[int]string
    if mymap == nil {
        fmt.Printf("mymap == nil: %v\n", mymap == nil)
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老孙正经胡说

创作不易,感谢您的关注

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值