本文使用 golang 1.17 代碼,如有任何問(wèn)題,還望指出。 線程、內(nèi)核線程和用戶線程區(qū)別 線程:從內(nèi)核角度來(lái)說(shuō)并沒(méi)有線程這個(gè)概念。Linu...
本文使用 golang 1.17 代碼,如有任何問(wèn)題,還望指出。 Golang 代碼被操作系統(tǒng)運(yùn)行起來(lái)的流程 一、編譯 go 源代碼首先要通過(guò) ...
變量?jī)?nèi)存分配與回收 Go 程序會(huì)在兩個(gè)地方為變量分配內(nèi)存,一個(gè)是全局的堆上,另一個(gè)是函數(shù)調(diào)用棧,Go 語(yǔ)言有垃圾回收機(jī)制,在Go中變量分配在堆還...
Go Modules 是 Go 語(yǔ)言的一種依賴管理方式,該 feature 是在 Go 1.11 版本中出現(xiàn)的,由于最近在做的項(xiàng)目中,團(tuán)隊(duì)都開(kāi)...
Golang 中可以使用 os/exec 來(lái)執(zhí)行 Linux 命令,下面是一個(gè)簡(jiǎn)單的示例: 或者創(chuàng)建一個(gè)緩沖讀取器按行讀取: 輸出結(jié)果: 在寫(xiě)這...
runtime 調(diào)度器是個(gè)非常有用的東西,關(guān)于 runtime 包幾個(gè)方法: Gosched:讓當(dāng)前線程讓出 cpu 以讓其它線程運(yùn)行,它不會(huì)掛...
所謂閉包是指內(nèi)層函數(shù)引用了外層函數(shù)中的變量或稱為引用了自由變量的函數(shù),其返回值也是一個(gè)函數(shù),了解過(guò)的語(yǔ)言中有閉包概念的像 js,python,g...