精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網站建設資訊

NEWS

網站建設資訊

go語言標準函數庫下載 go語言基礎pdf

Go語言之Context

golang在1.6.2的時候還沒有自己的context,在1.7的版本中就把golang.org/x/net/context包被加入到了官方的庫中。中文譯作“上下文”,它主要包含了goroutine 的運行狀態、環境等信息。

10年積累的做網站、成都網站建設經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站制作后付款的網站建設流程,更有連平免費網站建設讓你可以放心的選擇與我們合作。

context 主要用來在 goroutine 之間傳遞上下文信息,包括:同步信號、超時時間、截止時間、請求相關值等。

該接口定義了四個需要實現的方法:

如果有個網絡請求Request,然后這個請求又可以開啟多個goroutine做一些事情,當這個網絡請求出現異常和超時時,這個請求結束了,這時候就可以通過context來跟蹤這些goroutine,并且通過Context來取消他們,然后系統才可回收所占用的資源。

為了更方便的創建Context,包里頭定義了Background來作為所有Context的根,它是一個emptyCtx的實例。

Background返回一個非空的Context。它永遠不會被取消。它通常用來初始化和測試使用,作為一個頂層的context,也就是說一般我們創建的context都是基于Background。

TODO返回一個非空的Context。當不清楚要使用哪個上下文的時候可以使用TODO。

他們兩個本質上都是emptyCtx結構體類型,是一個不可取消,沒有設置截止時間,沒有攜帶任何值的Context。

有了如上的根Context,那么是如何衍生更多的子Context的呢?這就要靠context包為我們提供的With系列的函數了。

通過這些函數,就創建了一顆Context樹,樹的每個節點都可以有任意多個子節點,節點層級可以有任意多個。

WithCancel函數,最常用的派生 context 方法。該方法接受一個父 context。父 context 可以是一個 background context 或其他 context。

WithDeadline函數,該方法會創建一個帶有 deadline 的 context。當 deadline 到期后,該 context 以及該 context 的可能子 context 會受到 cancel 通知。另外,如果 deadline 前調用 cancelFunc 則會提前發送取消通知。

WithTimeout和WithDeadline基本上一樣,這個表示是超時自動取消,是多少時間后自動取消Context的意思。

WithValue函數和取消Context無關,它是為了生成一個綁定了一個鍵值對數據的Context,這個綁定的數據可以通過Context.Value方法訪問到,一般我們想要通過上下文來傳遞數據時,可以通過這個方法,如我們需要tarce追蹤系統調用棧的時候。

使用Context的程序應遵循以下規則,以使各個包之間的接口保持一致:

1.不要將 Context 塞到結構體里。直接將 Context 類型作為函數的第一參數,而且一般都命名為 ctx。

2.不要向函數傳入一個 nil 的 context,如果你實在不知道傳什么,標準庫給你準備好了一個 context:todo。

3.不要把本應該作為函數參數的類型塞到 context 中,context 存儲的應該是一些共同的數據。例如:登陸的 session、cookie 等。

4.同一個 context 可能會被傳遞到多個 goroutine,別擔心,context 是并發安全的。

Go語言os標準庫常用方法Getwd/Getenv/Chdir

1. os.Getwd()函數

原型:func Getwd()(pwd string, err error)

作用:獲取當前文件路徑

返回:當前文件路徑的字符串和一個err信息

示例:

輸出:

當前路徑: D:ProjectsGomGoLab01

2. os.Getenv()函數

原型:func Getenv(key string) string

作用:獲取系統環境變量的值

參數:key - 系統環境變量名

返回:系統環境變量的值

示例:

輸出:

環境變量GOPATH的值是: D:/Projects/Go

3. os.Chdir()函數

原型:func Chdir(dir string) error

作用:將當前文件路徑改變為目標路徑(非真實改變)

參數:dir - 目標路徑(即改變之后的路徑)

返回:修改成功,返回 nil;修改失敗(如:目標路徑不存在的情況),返回錯誤信息。

示例一:

輸出:

起始路徑: D:ProjectsGomGoLab01

修改后的路徑: D:ProjectsGoDemo02

示例二:

輸出:

起始路徑: D:ProjectsGomGoLab01

error: chdir D:ProjectsGoDemo03: The system cannot find the file specified.

注:文件路徑,Window 系統下默認是“”,寫在代碼中時要用“”或“/”代替。

求《學習Go語言》全文免費下載百度網盤資源,謝謝~

《學習Go語言》百度網盤pdf最新全集下載:

鏈接:

?pwd=je9c 提取碼: je9c

簡介:Google工程師親授,從學習語言語法特性到函數式編程、并發編程等等。理論與實戰結合,幫助快速掌握Go語言。通過研讀標準庫等經典代碼設計模式,啟發讀者深刻理解Go語言的核心思維,進入Go語言開發的更高階段。 ?


本文標題:go語言標準函數庫下載 go語言基礎pdf
標題路徑:http://m.jcarcd.cn/article/docgieo.html
主站蜘蛛池模板: 日本三级中文电影 | 国产免费大黄 | 人人摸人人干 | 不卡午夜 | 国产原创在线播放 | 日韩xo影院 | 国产九九免费视频 | 看黄免费进入 | 日韩高清在线观看 | 欧洲中文字幕在线 | 日韩在线观| 国语我和子的乱视频 | 国产伦精品 | 日本伦理| 国产精品好 | 乱子轮熟睡1区 | 欧洲在线观看视频高 | 97色色五月天| 日本一卡在线观看 | 欧美日韩一卡二区 | 成人观看的视频三级 | 乱辈通轩系列小 | 国内激情视频 | 国产手机在线精品 | 国产欧美精品二区 | 国产小比孩网站 | 99热婷| 蜜桃视频在线观看 | 国产精品精品国 | 欧美日韩动漫亚洲 | 国产精品六区 | 国产老熟女精品v | 国产拍自 | 国内精品视频 | 福利在线播放 | 国产精品第一二三区 | 国产91大长腿在线 | 国产亚洲一区在线 | 国产高清不卡一区 | 区三区在线| 国产老妇真|