Goroutine

Golang 需要避免踩的 50 個坑(二)

最近準備寫一些關於golang的技術博文,本文是之前在GitHub上看到的golang技術譯文,感覺很有幫助,先給各位讀者分享一下。 前言 Go 是一門簡單有趣的程式語言,與其他語言一樣,在使用時不

Go36-26-互斥鎖與讀寫鎖

從同步講起 相比於Go語言宣揚的“用通訊的方式共享資料”,通過共享資料的方式來傳遞資訊和協調執行緒執行的做法其實更加主流。本篇就是討論一些與多執行緒、共享資源以及同步有關的知識。 sync包,

Go總結(2)

struct go中struct結構預設欄位都會有零值,故不能用nil來判斷struct是否為空,可通過額外的欄位來判斷struct是否填充或為空 type Demo struct{ ready

ngrok 1.X 原始碼解析(WIP)

背景 ngrok 是我第一次接觸的 go 專案,也是我第一個完整閱讀過原始碼的開源專案。一開始讀程式碼我還是 go 語言零基礎,只寫過一點點 Web 後端 API,讀了好幾個月,後面還趁著做畢業設

Golang Context是好的設計嗎?

最近實現系統的分散式日誌與事務管理時,在尋求所謂的全域性唯一Goroutine ID無果之後,決定還是簡單利用Context機制實現了基本的想法,不夠高明,但是好用。於是對它當初的設計比較好奇,便有了此文。

Go 内存模型 (2014年5月31日版本)

1 简介 Go 内存模型指定了一个条件,在该条件下,在一个 goroutine 中一个变量的读取可保证能够观测到被其他 goroutine 对该变量写入的变化值。 2 建议 修改能够被多个 g

Defer, Panic, Recover

1、简介 Go具有控制流程的常用机制:if,for,switch,goto。 它还有go语句在单独的goroutine中运行代码。 在这里,我想讨论一些不太常见的问题:Defer,Panic和Recover

用 gopher 的方式使用 panic

Go 執行時(即成功編譯後,作業系統啟動該該程序)發生的錯誤會以 panics 的形式反饋。panic 可以通過這兩種形式觸發 : 1.直接使用內建panic 函式: pac

深入淺出Golang關鍵字"go"

1. 寫在前面 昨天,有人拿著下面這段程式碼,問題我結果為什麼不是10個10? 當然,這道題的結果,我相信很大一部分人都會弄錯。 所以,我希望做錯的人都能靜下心來看完本人的分析!

1746021376.2581