map 的刪除操作 Golang 內(nèi)置了哈希表,總體上是使用哈希鏈表實(shí)現(xiàn)的,如果出現(xiàn)哈希沖突,就把沖突的內(nèi)容都放到一個(gè)鏈表里面。 Golang 還內(nèi)置了delete函數(shù),如果...
JSONP先說(shuō) JSONP。通過(guò) JavaScript 調(diào)用,被調(diào)用域名和當(dāng)前頁(yè)面域名不一致,就需要用到 JSONP。不過(guò)我不太推薦這么跨域調(diào)用。如果真的要解決跨域問(wèn)題,我覺(jué)...
寫在前面 Golang 的log包內(nèi)容不多,說(shuō)實(shí)話,直接用來(lái)做日志開發(fā)有些簡(jiǎn)易。主要是缺少一些功能: 按日志級(jí)別打印和控制日志; 日志文件自動(dòng)分割; 異步打印日志。 按日志級(jí)...
寫在前面 expvar包是 Golang 官方提供的公共變量包,它可以輔助調(diào)試全局變量。支持一些常見(jiàn)的類型:float64、int64、Map、String。如果我們的程序要...
寫在前面 壓測(cè)的是否發(fā)現(xiàn)服務(wù)端TIME_WAIT狀態(tài)的連接很多。 TIME_WAIT狀態(tài)多,簡(jiǎn)單的說(shuō)就是服務(wù)端主動(dòng)關(guān)閉了TCP連接。 TCP頻繁的建立連接,會(huì)有一些問(wèn)題: 三...
寫在前面 開發(fā)過(guò)程中會(huì)經(jīng)常處理集合這種數(shù)據(jù)結(jié)構(gòu),簡(jiǎn)單點(diǎn)的處理方法都是使用內(nèi)置的map實(shí)現(xiàn)。但是如果要應(yīng)對(duì)大量數(shù)據(jù),例如,存放大量電話號(hào)碼,使用map占用內(nèi)存大的問(wèn)題就會(huì)凸顯出...
@煎魚教教主 當(dāng)程序需要用到集合set時(shí)候
Golang 優(yōu)化之路——空結(jié)構(gòu)寫在前面 開發(fā) hashset 常用的套路: 我們一般只用 map 的鍵來(lái)保存數(shù)據(jù),值是沒(méi)有用的。所以來(lái)緩存集合數(shù)據(jù)會(huì)造成內(nèi)存浪費(fèi)。 空對(duì)象 空對(duì)象是個(gè)神奇的東西。它指的是沒(méi)...
Go 包 beego。算起來(lái)用了三年beego了。當(dāng)初選擇用它的理由很簡(jiǎn)單,文檔是中文的,開發(fā)者是中國(guó)的,交流方便。優(yōu)點(diǎn)就是用得人較多,框架集成度高,工具比較多。不過(guò)從1.6...
寫在前面 開發(fā) hashset 常用的套路: 我們一般只用 map 的鍵來(lái)保存數(shù)據(jù),值是沒(méi)有用的。所以來(lái)緩存集合數(shù)據(jù)會(huì)造成內(nèi)存浪費(fèi)。 空對(duì)象 空對(duì)象是個(gè)神奇的東西。它指的是沒(méi)...