2.7 Go语言中的if-else

Posted 孙琦Ray

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)
    

以上是关于2.7 Go语言中的if-else的主要内容,如果未能解决你的问题,请参考以下文章

go语言

2.9 Go语言中的Switch

Go if else

if-else 语句

Go语言系列

“全栈2019”Java第二十二章:控制流程语句中的决策语句if-else