婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > golang中單向channel的語(yǔ)法介紹

golang中單向channel的語(yǔ)法介紹

熱門(mén)標(biāo)簽:百度地圖標(biāo)注搜索關(guān)鍵詞 ?兓? 騰訊外呼系統(tǒng)價(jià)格 電梯外呼訪客系統(tǒng) 電銷機(jī)器人可以補(bǔ)救房產(chǎn)中介嗎 浙江人工智能外呼管理系統(tǒng) 谷歌便利店地圖標(biāo)注 最短的地圖標(biāo)注 成都呼叫中心外呼系統(tǒng)平臺(tái)

本文主要給大家介紹的是關(guān)于golang單向channel語(yǔ)法的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),下面話不多說(shuō),來(lái)一起看看詳細(xì)的介紹:

今天閑來(lái)無(wú)事補(bǔ)充一下golang的語(yǔ)法知識(shí),想起來(lái)看看context的用法,結(jié)果碰到了一個(gè)沒(méi)見(jiàn)過(guò)的channel語(yǔ)法:

// A Context carries a deadline, cancelation signal, and request-scoped values
// across API boundaries. Its methods are safe for simultaneous use by multiple
// goroutines.
type Context interface {
 // Done returns a channel that is closed when this `Context` is canceled
 // or times out.
 Done() -chan struct{}
 
 // Err indicates why this Context was canceled, after the Done channel
 // is closed.
 Err() error
 
 // Deadline returns the time when this Context will be canceled, if any.
 Deadline() (deadline time.Time, ok bool)
 
 // Value returns the value associated with key or nil if none.
 Value(key interface{}) interface{}
}

注意看:Done() - chan struct{} ,一個(gè)接口函數(shù)的聲明怎么這么奇怪呢?下面來(lái)分解一下。

Done() chan struct{} :如果函數(shù)定義改成這樣,其意義是,

  • 函數(shù)名Done,參數(shù)(),返回值chan struct{}
  • 單獨(dú)拿返回值來(lái)說(shuō),它是一個(gè)管道chan,內(nèi)部的數(shù)據(jù)類型是struct{}
  • 單獨(dú)拿struct{}來(lái)說(shuō),我們熟悉type Name struct{a int, b bool}這樣去定義一個(gè)結(jié)構(gòu)體的類型,其實(shí)struct{…}就是定義結(jié)構(gòu)體,和map[string]int這種定義是一樣的,type只是給它啟了一個(gè)別名。

- chan struct{} :?jiǎn)为?dú)看這個(gè)表達(dá)式,我們知道如果ch := make(chan struct{}) ,那么- ch是從管道里取出數(shù)據(jù)。但是chan struct{}是類型而不是變量,竟然能從一個(gè)類型里取數(shù)據(jù)??

其實(shí)-chan int仍舊是一個(gè)管道類型,它叫做單向channel。如果是-chan int,說(shuō)明是只能讀不能寫(xiě)的管道(也不能關(guān)閉),如果是chan - int ,說(shuō)明是只能寫(xiě)不能讀的管道(可以關(guān)閉),僅此而已!

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者使用Go語(yǔ)言能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

您可能感興趣的文章:
  • 基于golang channel實(shí)現(xiàn)的輕量級(jí)異步任務(wù)分發(fā)器示例代碼
  • golang中for循環(huán)遍歷channel時(shí)需要注意的問(wèn)題詳解
  • golang實(shí)現(xiàn)基于channel的通用連接池詳解
  • Golang優(yōu)雅關(guān)閉channel的方法示例
  • golang判斷chan channel是否關(guān)閉的方法
  • Golang中channel使用的一些小技巧
  • Golang中channel的原理解讀(推薦)

標(biāo)簽:昭通 東營(yíng) 駐馬店 滄州 晉中 阿壩 泰安 瀘州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《golang中單向channel的語(yǔ)法介紹》,本文關(guān)鍵詞  golang,中,單向,channel,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《golang中單向channel的語(yǔ)法介紹》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于golang中單向channel的語(yǔ)法介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 天津市| 白山市| 大方县| 芦山县| 周宁县| 栖霞市| 阿克苏市| 阳信县| 闵行区| 岳普湖县| 新昌县| 抚州市| 汉源县| 钟祥市| 榆社县| 鹤峰县| 虞城县| 古田县| 监利县| 平顶山市| 怀来县| 光泽县| 内江市| 田林县| 庆阳市| 罗平县| 宣武区| 海南省| 泰来县| 宁都县| 揭西县| 宝应县| 罗田县| 乐清市| 柏乡县| 娄底市| 且末县| 大悟县| 阿鲁科尔沁旗| 九台市| 固原市|