文档章节

go for select

qii
 qii
发布于 2016/08/12 10:36
字数 194
阅读 4
收藏 0

select里面的break是无法退出for语句的。如下;

package main

import (
   "fmt"
)

func main() {
   var c=make(chan int,1024)
   quit:=make(chan string,1)
   c<-1
   quit<-"q"
   for{
      select{
         case <-c:
            fmt.Println("here")
         case <-quit:
            fmt.Println("quit")
            break
      }
   }
}

有几种方法可以退出for循环

1使用goto语句:

package main

import (
   "fmt"
)

func main() {
   var c=make(chan int,1024)
   quit:=make(chan string,1)
   c<-1
   quit<-"q"
   for{
      select{
         case <-c:
            fmt.Println("here")
         case <-quit:
            fmt.Println("quit")
            goto forEnd
      }
   }
   forEnd:
}

2使用break标签

package main

import (
   "fmt"
)

func main() {
   var c=make(chan int,1024)
   quit:=make(chan string,1)
   c<-1
   quit<-"q"
   forEnd:
   for{
      select{
         case <-c:
            fmt.Println("here")
         case <-quit:
            fmt.Println("quit")
            break forEnd
      }
   }
}

3使用return语句

package main

import (
   "fmt"
)

func main() {
   var c=make(chan int,1024)
   quit:=make(chan string,1)
   c<-1
   quit<-"q"
   some(c, quit)
   fmt.Println("end")
}

func some(c1 chan int,c2 chan string)  {
   for{
      select{
         case <-c1:
            fmt.Println("here")
         case <-c2:
            fmt.Println("quit")
            return
      }
   }
}

 

© 著作权归作者所有

共有 人打赏支持
上一篇: go select语句
下一篇: 将go打包成exe
qii

qii

粉丝 13
博文 77
码字总数 23520
作品 0
昆明
高级程序员
私信 提问
JQuery下拉控件select的操作汇总

JQuery获取和设置Select选项方法汇总如下: 获取select 先看看下面代码: 获取select 选中的 text : 获取select选中的 value: 获取select选中的索引: 设置select jQuery添加/删除Select的Opt...

leonwong
2013/08/19
0
0
Sqlserver常用函数例子说明

在操作SQLServer的时候, 很多时候记不住具体的函数如何使用, 查找联机帮助还是嫌麻烦, 且有很多时候例子也不好懂, 下面对每个常用的函数用用例子说明,一目了然,你自己在数据库中执行一下,结果...

walb呀
2017/12/04
0
0
JQuery 动态添加 option

在<select>里动态添加option JQuery: $("#selectId").append("<option value='"+value+"'>"+text+"</option>"); jQuery获取Select选择的Text和Value: 1. $("#select_id").change(function()......

704969448
2012/06/19
0
0
Sql日期时间格式转换 总是会用到

Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16 Select C......

枫爱若雪
2012/08/14
0
0
基于 layui 的 select 多选解决方案 - formSelects

formSelects-v4.js 基于Layui的多选解决方案 使用方式 //1.下载formSelects-v4.1 //2.模块化使用<script src="layui.js" type="text/javascript" charset="utf-8"></script><script type="te......

MapleMei
07/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Ubuntu18.04 安装MySQL

1.安装MySQL sudo apt-get install mysql-server 2.配置MySQL sudo mysql_secure_installation 3.设置MySQL非root用户 设置原因:配置过程为系统root权限,在构建MySQL连接时出现错误:ERROR...

AI_SKI
今天
2
0
3.6 rc脚本(start方法) 3.7 rc脚本(stop和status方法) 3.8 rc脚本(以daemon方式启动)

3.6-3.7 rc脚本(start、stop和status方法) #!/usr/bin/env python# -*- coding: utf-8 -*-# [@Version](https://my.oschina.net/u/931210) : python 2.7# [@Time](https://my.oschina.......

隐匿的蚂蚁
今天
3
0
Cnn学习相关博客

CNN卷积神经网络原理讲解+图片识别应用(附源码) 笨方法学习CNN图像识别系列 深度学习图像识别项目(中):Keras和卷积神经网络(CNN) 卷积神经网络模型部署到移动设备 使用CNN神经网络进行...

-九天-
昨天
4
0
flutter 底部输入框 聊天输入框 Flexible

想在页面底部放个输入框,结果键盘一直遮住了,原来是布局问题 Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("评论"), ...

大灰狼wow
昨天
4
0
Kernel I2C子系统

备注:所有图片来源于网络 1,I2C协议: 物理拓扑: I2C总线由两根信号线组成,一条是时钟信号线SCL,一条是数据信号线SDA。一条I2C总线可以接多个设备,每个设备都接入I2C总线的SCL和SDA。I...

yepanl
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部