我是靠谱客的博主 繁荣战斗机,最近开发中收集的这篇文章主要介绍Go语言学习之条件语句使用详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、if...else判断语法

语法的使用和其他语言没啥区别。

样例代码如下:

// 判断语句
func panduan(a int) {
    if a > 50 {
        fmt.Println("a > 50")
    } else if a < 30 {
        fmt.Println("a < 30")
    } else {
        fmt.Println("a <= 50 and a >= 30")
    }
}
 
func main() {
    panduan(120)
}

执行结果

a > 50

2、if嵌套语法

样例代码如下

//嵌套判断
func qiantao(b, c uint) {
    if b >= 100 {
        b -= 20
        if c > b {
            fmt.Println("c OK")
        } else {
            fmt.Println("b OK")
        }
    }
}

执行结果

c OK

3、switch语句

两种写法,不需要加break。

样例代码如下

//switch使用
func test_switch() {
    var a uint = 90
    var result string
    switch a {
    case 90:
        result = "A"
    case 80, 70, 60:
        result = "B"
    default:
        result = "C"
    }
    fmt.Printf("result: %vn", result)
    switch {
    case a > 90:
        result = "A"
    case a <= 90 && a >= 80:
        result = "B"
    default:
        result = "C"
    }
    fmt.Printf("result: %vn", result)
 
}

执行结果

result: A              
result: B  

注意

1、可是在switch后面加变量,后面的case主要做匹配判断。也可以直接使用switch{},case直接对关系运算结果做匹配。

2、 case中可以选择匹配多项。

4、类型switch语句

switch语句可以使用type-switch进行类型判断,感觉很实用的语法。

样例代码如下

//测试类型switch
func test_type_switch() {
    var x interface{}
    x = 1.0
    switch i := x.(type) {
    case nil:
        fmt.Printf("x type = %Tn", i)
    case bool, string:
        fmt.Printf("x type = bool or stringn")
    case int:
        fmt.Printf("x type = intn")
    case float64:
        fmt.Printf("x type = float64n")
    default:
        fmt.Printf("未知n")
    }
}

执行结果

x type = float64     

注意

1、interface{}可以表示任何类型。

2、语法格式变量.(type)

5、fallthrough关键字使用

使用fallthrough关键字会强制执行后面的case语句内容,不管时候触发该case条件。

样例代码如下

// 测试fallthrough
func test_fallthrough() {
    a := 1
    switch {
    case a < 0:
        fmt.Println("1")
        fallthrough
    case a > 0:
        fmt.Println("2")
        fallthrough
    case a < 0:
        fmt.Println("3")
        fallthrough
    case a < 0:
        fmt.Println("4")
    case a > 0:
        fmt.Println("5")
        fallthrough
    case a < 0:
        fmt.Println("6")
        fallthrough
    default:
        fmt.Println("7")
    }
}

执行结果

2                      
3                      
4  

注意

1、如果一旦在往下执行case内容中不存在fallthrough,则会停止继续往下执行case内容。 

小结

我看到还有个select语句,需要和chan关键字进行配合使用,没不了解,后面先研究一下chan关键字。

到此这篇关于Go语言学习之条件语句使用详解的文章就介绍到这了,更多相关Go条件语句内容请搜索靠谱客以前的文章或继续浏览下面的相关文章希望大家以后多多支持靠谱客!

最后

以上就是繁荣战斗机为你收集整理的Go语言学习之条件语句使用详解的全部内容,希望文章能够帮你解决Go语言学习之条件语句使用详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(89)

评论列表共有 0 条评论

立即
投稿
返回
顶部