目录
- 1、if…else判断语法
 - 2、if嵌套语法
 - 3、switch语句
 - 4、类型switch语句
 - 5、fallthrough关键字使用
 - 小结
 
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: %v\n", result)
    switch {
    case a > 90:
        result = "A"
    case a <= 90 && a >= 80:
        result = "B"
    default:
        result = "C"
    }
    fmt.Printf("result: %v\n", 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 = %T\n", i)
    case bool, string:
        fmt.Printf("x type = bool or string\n")
    case int:
        fmt.Printf("x type = int\n")
    case float64:
        fmt.Printf("x type = float64\n")
    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关键字。
	声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
		
评论(0)