登录
首页 >  Golang >  Go问答

麻烦解说下go中的select概念

来源:SegmentFault

时间:2023-01-21 13:21:02 265浏览 收藏

怎么入门Golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《麻烦解说下go中的select概念》,涉及到go,有需要的可以收藏一下

问题内容

func fibonacci(c, quit chan int) {
    x := 1;
    for {
        select {
        case c 

比如说上面的代码, select 中是如何触发的呢?
和事件触发一样的吗?
case 语句又是怎么运行的呢?


搞明白了些,自答
select概念
在channel 中,无缓冲区的情况下,读取,写入后都会阻塞.
在 select 中
case 某个 channel 后,会被阻塞,当这个 channel 在其他地方被操作后,当前这个 case 会被触发,执行下面的语句.
如果没有case需要处理,则会选择default去处理,如果default case存在的情况下。如果没有default case,则select语句会阻塞,直到某个case需要处理

func fibonacci(c, quit chan int) {
       for {
              select {
              case v := 

正确答案

select是和case一起出现的,可以理解为switch与case,select是任意选择case中的一条可以执行的语句来执行(即不阻塞),只要任何一个通道没被阻塞,就会执行。case语句其实有点像if。如果说的有什么不对,欢迎指正,大家一起学习。

好了,本文到此结束,带大家了解了《麻烦解说下go中的select概念》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表