go中continue和break的区别
在for循环中
continue用于跳过继续的操作,直接从下一个循环开始
break用于直接跳出for循环
//当i==3时,不输出;当i==5时,跳出循环;会依次打印0,1,2,4 for i:=0;;i++ { if i%3==0{ continue } if i%5==0{ break } fmt.Println(i) }在select中只有break用法;break跳出当前case
在for select中
continue从下一个循环开始,不执行其余任何操作
break不可跳出循环,只跳出当前case,然后执行select块下面的代码
break可以使用loop标签跳出for循环
t1 := time.NewTicker(time.Second * 4) t2 := time.NewTicker(time.Second * 5) t3 := time.NewTicker(time.Second * 6) t4 := time.NewTicker(time.Second * 7) out: for { fmt.Println("start") select { case <-t1.C: //输出start,1,end fmt.Println("1") case <-t2.C: //输出start,2;跳出当前for循环,执行下一个循环,不打印end fmt.Println("2") continue fmt.Println("22") case <-t3.C: //输出start,3,end;跳出当前select,打印end fmt.Println("3") break fmt.Println("33") case <-t4.C: //输出start,4;跳出for循环 fmt.Println("4") break out fmt.Println("44") } fmt.Println("end") }