文档章节

go for select

qii
 qii
发布于 2016/08/12 10:36
字数 194
阅读 3
收藏 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
      }
   }
}

 

© 著作权归作者所有

共有 人打赏支持
qii

qii

粉丝 13
博文 77
码字总数 23520
作品 0
昆明
高级程序员
Struts1二级级联选择问题,一级不选不能选二级,提示

级联操作,若果不选择处罚类别,则无法选择处罚种类 //处罚种类 function refreshDataUnit(value) { if("01" == value){ $("select[name='peanal']").prop("disabled",false); $("select[na......

毕加索5481
2016/08/11
113
2
jQuery操作select选中的值

jQuery取得select选中的值 <select id="thename"><option value="1"> 123</option></select> 选中的值:$('#thename).val()选中的文本值:$('#thename option:selected').text(); jjQuery获取......

mrmusic
2016/03/27
81
1
数据库:数据导入/数据导出

一、数据导入: 把系统文件的内容存储到数据库的表里mysql> load data infile "目录/文件名" into table 库.表名 fields terminated by "字段间隔符号" lines terminated by "n"; 用户名:密...

庞然大悟
2017/12/29
0
0
mysql存储过程一直在报;的错

BEGINdeclare numareaId int(10); declare currentareaId int(10); SELECT COUNT(areaId),MIN(areaId) INTO@a ,@b FROM optionarea_info; SET numareaId=@a ; SET currentareaId=@b; loop1:W......

陈炎
2013/04/25
160
4
Oracle 10g:Select 语句各种各样的用法

Basic Select Statements Select All Columns and All Records in a Single Table or View SELECT * FROM <table_name>; SELECT * FROM all_tables; Select Named Columns SELECT <columnnam......

康师傅
2013/08/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

php 使用redis锁限制并发访问类

1.并发访问限制问题 对于一些需要限制同一个用户并发访问的场景,如果用户并发请求多次,而服务器处理没有加锁限制,用户则可以多次请求成功。 例如换领优惠券,如果用户同一时间并发提交换领...

豆花饭烧土豆
15分钟前
0
0
Linux环境搭建 | 手把手教你配置Linux虚拟机

在上一节 「手把你教你安装Linux虚拟机」 里,我们已经安装好了Linux虚拟机,在这一节里,我们将配置安装好的Linux虚拟机,使其达到可以开发的程度。 Ubuntu刚安装完毕之后,还无法进行开发,...

良许Linux
17分钟前
0
0
Nginix开启SSL支持HTTPS访问(自签名方法)

Nginix开启SSL支持HTTPS访问(自签名方法) 超文本传输安全协议(缩写:HTTPS,英语:Hypertext Transfer Protocol Secure)是超文本传输协议和SSL/TLS的组合,用以提供加密通讯及对网络服务器...

openthings
33分钟前
0
0
(三)Nginx配置·续

概述 前文写了关于Nginx环境配置,但是还没有完,接下来将会继续讲三个相关的配置 主要是以下三个 1.Nginx访问日志 2.Nginx日志切割 3.静态文件不记录日志和过期时间 Nginx访问日志 1.先看看...

杉下
今天
1
0
jquery创建类似于java的map

var map = {}; // Map map = new HashMap(); map[key] = value; // map.put(key, value); var value = map[key]; // Object value = map.get(key); var has = key in map; // boolean has = ......

SuperDabai
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部