//首先:select var chanints chan int chanints = make(chan int, 2) //chanints <- 100 //val := <-chanints //fmt.Println(val) select { case chanints <- 1: //如果写入数据 fmt.Println("如果chaints没有数据,执行case后的表达式") case <-chanints: //如果chaints已经有数据,读出数据 fmt.Println("如果chaints已经有数据") default: fmt.Println("如果啥都没干的话") }
//switch选择
// num := 1 switch num := 5; num { case 1: fmt.Println("你属于1年纪") case 2, 3, 4: fmt.Println("你属于2,3,4年纪") case 5: fmt.Println("你属于5年纪") default: fmt.Println("你属于其他年纪") }
/**select与switch的区别: 1:每个switch后面必须跟随一个条件判断,而select后面没有 2:switch中的case语句为枚举值进行比较,select中的case必须是一个对channel的读或者写的操作 3:相同点:如果switch或select中的case都不成功,那么都会进入default **/