go-逻辑语句-if、switch、for

if语句

func test_if()  {
	if age:=19;age<20 {  // 局部初始化age,if之外age无效
		fmt.Printf("青春无敌")
	}else if age<40 {
		fmt.Println("你个臭阿姨")
	}else {
		fmt.Println("你个臭婆婆")
	}
}

func test_if()  {
    age:=19  // if之前初始化age,if之后,age的值被改变
	if age<20 {
		fmt.Printf("青春无敌")
        age++
	}else if age<40 {
		fmt.Println("你个臭阿姨")
        age++
	}else {
		fmt.Println("你个臭婆婆")
        age++
	}
}

switch

func test_switch(){
    var a int = 10
    
    // 默认判断条件 ==
    switch a {
        case 1:  // 判断a==1
        fmt.Println(a)
        
        case 2,3,4:  // or的关系
        fmt.Println(a)
        
        default:
        fmt.Println(a)  // 上面所有条件都不符合,执行default
    }
    
    // 无条件,在case中写条件
    switch {
        case a==10:
        fmt.Println(a)
        
        case a==11||a==12:  // ||代表or关系  
        fmt.Println(a)
        
        case a<100&&a>12:  // &&代表and关系
        fmt.Println(a)
    }
    
    // fallthrough
    switch {
        case a==10:
        fmt.Println(a)
        fallthrough  // 执行下一个case,并且不做判断,直接执行代码
        
        case a==11:
        fmt.Println(a)
    }

}

for语句

// 局部初始化
for i:=0;i<10;i++{  // i+=2或者i=i+2自增2
    fmt.Println(i)
}

// 省略初始化->外部初始化
i := 0
for ;i<10;i++{
    fmt.Println(i)
}

// 省略自增->内部自增
i := 0
for ;i<10;{
    fmt.Println(i)
    i++
}

// 外部初始化且省略自增的简写->等同于其它语言中的while循环
i := 0
for i<10{
    fmt.Println(i)
    i++
}

// 省略判断->内部判断
i := 0
for ;;i++{
    if i>10{
        break
    }
    fmt.Println(i)
}

// 省略判断->不做判断,也不在循环体中用break:死循环
i : =0
for ;;i++{
    fmt.Println(i)
}

// 全省略->死循环
i := 0
for {
    fmt.Println(i)
}

posted @ 2020-03-28 10:32  DongDon  阅读(111)  评论(0)    收藏  举报