現(xiàn)在的中國(guó)越败,正走在復(fù)興之路上。經(jīng)歷了兩千多年的輝煌和一百多年的衰亡儒鹿,這個(gè)國(guó)家倦逐、這個(gè)民族正迎來(lái)新的歷史周期——大國(guó)復(fù)興。從商周到明清疫赎,這塊神奇的東方大地上上演了無(wú)數(shù)的盛衰治亂盛撑、...

現(xiàn)在的中國(guó)越败,正走在復(fù)興之路上。經(jīng)歷了兩千多年的輝煌和一百多年的衰亡儒鹿,這個(gè)國(guó)家倦逐、這個(gè)民族正迎來(lái)新的歷史周期——大國(guó)復(fù)興。從商周到明清疫赎,這塊神奇的東方大地上上演了無(wú)數(shù)的盛衰治亂盛撑、...
1. 前言 朋友問(wèn)我cookie是什么,用來(lái)干什么的捧搞,可是我居然無(wú)法清楚明白簡(jiǎn)短地向其闡述cookie抵卫,這不禁讓我陷入了沉思:為什么我無(wú)法解釋清楚,我對(duì)學(xué)習(xí)的方法產(chǎn)生了懷疑胎撇!...
本文基于 go1.11 版本介粘。 Mutex 使用 在深入源碼之前,要先搞清楚一點(diǎn)晚树,對(duì) Golang 中互斥鎖 sync.Mutex 的操作是程序員的主動(dòng)行為姻采,可以看作是是一種...
Mutext兩種模式 正常模式和饑餓模式。一開始默認(rèn)處于正常模式爵憎。在正常模式中慨亲,每個(gè)新加入競(jìng)爭(zhēng)鎖行列的協(xié)程都會(huì)直接參與到鎖的競(jìng)爭(zhēng)當(dāng)中來(lái),而處于饑餓模式時(shí)宝鼓,所有所有新進(jìn)入的協(xié)程...
前言 Goroutine & Scheduler goroutine 是什么刑棵?通常 goroutine 會(huì)被當(dāng)做 coroutine(協(xié)程)的 golang 實(shí)現(xiàn),但實(shí)際上愚铡,...
我當(dāng)面試官時(shí) 之前公司招后端程序員的時(shí)候蛉签,我負(fù)責(zé)考察面試者golang的掌握程度。 通常我是要求面試者上機(jī)用channel寫一個(gè)多常駐協(xié)程的任務(wù)隊(duì)列沥寥,然后再不斷的延伸發(fā)問(wèn)碍舍,考...
二叉樹的遍歷是二叉樹的經(jīng)典算法乒验,方式有很多,對(duì)理解遞歸迭代和堆棧隊(duì)列有幫助蒂阱。以下是我寫的二叉樹深度優(yōu)先遍歷(DFS)和廣度優(yōu)先遍歷(BFS)的遞歸和非遞歸形式锻全,并順便介紹一下...
golang暫未有內(nèi)置的Stack數(shù)據(jù)結(jié)構(gòu)狂塘,工作需要就“借鑒”他人寫了個(gè) 原理就是利用內(nèi)置的list數(shù)據(jù)結(jié)構(gòu)的PushBack,Remove等方法組合來(lái)實(shí)現(xiàn)進(jìn)棧、出棧等操作測(cè)...
之前看了一篇文章鳄厌,講redis的應(yīng)用場(chǎng)景荞胡,其中一個(gè)應(yīng)用場(chǎng)景就是實(shí)現(xiàn)點(diǎn)贊功能,紙上得來(lái)恐覺(jué)淺了嚎,必須實(shí)戰(zhàn)一波 功能點(diǎn)設(shè)計(jì) 比如我喜歡發(fā)文章的掘金網(wǎng)站就有點(diǎn)贊的功能泪漂,統(tǒng)計(jì)文章點(diǎn)贊的...
最近在搗鼓GO服務(wù)開發(fā),接觸到Gin這個(gè)犀利而又神奇的框架歪泳。So萝勤,對(duì)這款框架源碼進(jìn)行了研究學(xué)習(xí)。下面就展開第一段分享呐伞。 從最簡(jiǎn)單的幾行代碼開始 這是最簡(jiǎn)單的服務(wù)器監(jiān)聽http...
If you need performance and good productivity, you will love Gin. 這是 Gin 源碼學(xué)習(xí)的第一篇趟径,為什么是 ...
gin的http服務(wù)啟動(dòng) 上面簡(jiǎn)簡(jiǎn)單單的兩行代碼,就能開啟一個(gè)基于gin框架的http服務(wù)下面復(fù)雜的這么多行代碼也是在啟動(dòng)一個(gè)基于gin的http服務(wù)癣防。了解過(guò)GOhttp包的...
111
git rebase 和 git merge 有啥區(qū)別蜗巧?git merge:將兩個(gè)分支,合并提交為一個(gè)新提交蕾盯,并且新提交有2個(gè)parent幕屹。 git rebase:會(huì)取消分支中的每個(gè)提交,并把他們臨時(shí)存放刑枝,然后把當(dāng)前分支更新到最新...
git merge:將兩個(gè)分支,合并提交為一個(gè)新提交装畅,并且新提交有2個(gè)parent靠娱。 git rebase:會(huì)取消分支中的每個(gè)提交,并把他們臨時(shí)存放掠兄,然后把當(dāng)前分支更新到最新...
先上結(jié)論吧 select 是針對(duì)chan類型的像云, 所以case 只有default和chan(讀/寫)兩種 遍歷case的時(shí)候順序不確定,但chan的優(yōu)先級(jí)比default高...