在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

當channel關閉后再去讀取數據會出現啥情況

冬至配餃子 ? 來源:GoLang全棧 ? 作者:小錕哥哥 ? 2022-08-17 11:14 ? 次閱讀

一、正常的 channel

首先我們先來一段正常操作的代碼:

poYBAGL8W_2AcShBAAAtCLEMIdc627.png

這段代碼應該非常熟悉,這樣寫是否有問題呢?

執行后的結果:

poYBAGL8XA-ALuPyAAAfzJjckaI325.png

如果一個 channel 不在某個協程里面關閉的話,我們的 for range 就會報死鎖的錯誤。

二、關閉后再讀取

1、使用 for range 讀取關閉后的 channel

現在我們在 for range 之前關閉下這個 channel,看會出現啥情況:

pYYBAGL8XCGAa_6gAABCUPjPvWw471.png

這樣寫代碼會出現啥問題呢?

poYBAGL8XDWAC2AOAAATcC2lvLk581.png

啥錯也沒有,正常的讀取。

2、直接獨立取值

下面我們換直接獨立取值的方式:

poYBAGL8XEiAFnr1AAAzJ2ZPpFc917.png

state 會返回是否取到了值,這段代碼的執行結果是取到第一個值:

pYYBAGL8XFiAfedsAAANM8qHq90050.png

如果我們反復讀取呢?

pYYBAGL8XGmAKOJoAABOiTHv13M638.png

我前面讀取 3 次,把里面的數據讀取完畢后,再讀取得到就是零值了。

pYYBAGL8XICAPSEgAAAO5wQ1CgQ342.png

所以結論是:如果 channel 有元素還未讀,會正確讀出來,哪怕他已經關閉了。

三、往里面寫值呢?

最后一起來看下,當 channel 關閉后,往里面寫值會怎樣?

pYYBAGL8XJiAIHCgAAAgpEO8GC8725.png

這段代碼執行后的結果:

pYYBAGL8XKqAZzgXAAAXHxdNrwY953.png

會報 panic,具體原因我們可以看 go 的源碼,路徑為:src/runtime/chan.go

poYBAGL8XMSAP3QKAACmUgJdS7I575.png

你學廢了么?



審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Channel
    +關注

    關注

    0

    文章

    31

    瀏覽量

    11861
  • go語言
    +關注

    關注

    1

    文章

    158

    瀏覽量

    9094
收藏 人收藏

    評論

    相關推薦

    aducm360采樣率大于200Hz以上時,就會出現讀取數據錯誤是為什么?怎么解決?

    問題: 用該芯片采集8路的ad信號,使用的是連續轉換模式,每次ad轉換完成進入中斷函數,在中斷里切換下個通道,依次采集各通道模擬量。但是ad的采樣率大于200Hz以上時,就會出現讀取數據
    發表于 01-12 07:50

    使用ADS1256中出現重新上電會出現讀取AD值不一樣的情況,怎么解決?

    您好,我在使用ADS1256中出現重新上電會出現讀取AD值不一樣的情況:我這邊一直給一個恒定的電壓輸入,重復上電斷電讀取AD值的實驗,10
    發表于 12-13 09:34

    請問AFE4400讀取數據什么時候才會出現0?

    我目前用的是AFE4400,讀取的是紅光、紅外光和去環境紅光,我想知道讀取數據什么時候才會出現0?隨著光照增強,是不是接受到的數據會變得
    發表于 12-20 10:03

    串口通訊 不間斷的會出現數據中斷

    運行時候數據接收是正常的,運行一段時間會出現數據為0 跳變很大,會不間斷的出現這種情況。。怎么
    發表于 07-26 11:42

    mcuisp會出現芯片保護無法讀取情況是為什么?

    mcuisp會出現芯片保護無法讀取情況是為什么?
    發表于 12-03 07:46

    modbus通訊會出現讀取失敗是什么情況

    實際情況:4路modbus通訊和一路串口通訊。4路modbus都是使用的libmodbus協議棧,串口使用的serial_v1的驅動。在實際使用中4路modbus都會出現讀取失敗的情況
    發表于 11-09 14:07

    變頻器將進線缺相保護關閉出現缺相運行會出現什么情況

    變頻器將進線缺相保護關閉出現缺相運行會出現什么情況?謝謝!
    發表于 12-18 07:19

    水泵為什么會出現燒電機的情況?

    2月15日周五水泵為什么會出現燒電機的情況?帶負荷啟動可以造成電機損壞;實際使用揚程低于泵銘牌揚程太多
    的頭像 發表于 02-16 08:19 ?1.8w次閱讀

    不同的直流電機反接會出現什么情況

    直流電機有很多種,下面就分別介紹一下不同直流電機反接會出現什么情況
    的頭像 發表于 03-08 11:40 ?6746次閱讀

    兩個IGBT為什么會出現同時導通的情況呢?

    。 對三相電來說,就需要三個橋臂。以兩電平為例,每個橋臂上有兩個電力電子器件,比如IGBT。大致如下圖所示; 這兩個IGBT不能同時導通,否則就會出現短路的情況,從而對系統造成損害。 那為什么會出現同時導通的
    的頭像 發表于 01-13 16:28 ?7718次閱讀
    兩個IGBT為什么<b class='flag-5'>會出現</b>同時導通的<b class='flag-5'>情況</b>呢?

    螺桿式冷水機蒸發器出現故障會出現什么問題

    使用螺桿式冷水機組時會出現各種狀況,其中蒸發器是重要的配件,出現故障就會影響整個設備的運行
    的頭像 發表于 07-13 10:16 ?821次閱讀
    螺桿式冷水機蒸發器<b class='flag-5'>出現</b>故障<b class='flag-5'>會出現</b>什么問題

    自動無功補償裝置關閉會出現什么狀況?

    自動無功補償裝置是現代電力系統中常用的設備之一,它能夠實現電力系統功率因數的自動補償,提高電力系統的穩定性和能效。然而,自動無功補償裝置關閉會出現一些特定的狀況,是企業需要了解并
    的頭像 發表于 09-07 14:40 ?1564次閱讀

    請教關于LVDS阻抗匹配的問題 LVDS輸出阻抗偏大會出現什么情況

    請教關于LVDS阻抗匹配的問題 LVDS輸出阻抗偏大會出現什么情況? LVDS(Low Voltage Differential Signaling)是差分信號傳輸技術,能夠提供較高的數據傳輸速率
    的頭像 發表于 10-18 16:48 ?1836次閱讀

    信號源的幅度過大,在兩級放大器的輸出端分別會出現什么情況

    信號源的幅度過大,在兩級放大器的輸出端分別會出現什么情況信號源的幅度過大時,在兩級放大器的輸出端會出現一系列不良影響和問題。這些問題
    的頭像 發表于 02-03 17:42 ?1836次閱讀

    MCX射頻頭使用不當會出現什么情況

     德索工程師說道MCX射頻頭使用不當可能會出現多種情況,這些問題不僅影響設備的性能,還可能對系統整體造成損害。以下是對MCX射頻頭使用不當可能出現情況的詳細分析:  連接不穩:如果M
    的頭像 發表于 09-27 09:05 ?334次閱讀
    MCX射頻頭使用不當<b class='flag-5'>會出現</b>什么<b class='flag-5'>情況</b>
    主站蜘蛛池模板: 日本免费不卡视频一区二区三区 | 国内一级毛片 | 久久鬼 | 国产gav成人免费播放视频 | 豆国产97在线 | 欧洲 | 特级aaaaaaaaa毛片免费视频 | 国产成人黄网址在线视频 | 日韩欧美在线中文字幕 | 色综合婷婷 | 亚洲第一区在线 | 亚洲人成网i8禁止 | 91在线国内在线播放大神 | 日本三人交xxx69视频 | 一级欧美一级日韩 | 35pao强力打造 | 国产盗摄女厕美女嘘嘘 | 在线种子搜索 | 免费看曰批女人爽的视频网址 | 91色视 | 狠狠色丁香久久综合五月 | 亚洲热热久久九九精品 | 免费国产成人α片 | 亚洲综合在线观看一区www | 性夜影院爽黄a免费视频 | 中文在线最新版天堂 | 天堂视频在线观看 | 四虎在线精品免费高清在线 | 黄色短视频软件 | 欧美性猛交xxxx免费 | 高清一本之道加勒比在线 | 中文三级视频 | 久草婷婷 | 91精品国产91久久久久青草 | avbobo在线 | 伊人免费网 | 天天色天天操综合网 | 欧美狠狠 | 国产亚洲欧美成人久久片 | 国产黄色在线视频 | 亚洲成熟人网站 | 白嫩美女一级高清毛片免费看 |