原创 go依賴注入的使用(dig和facebook inject)
介紹: https://blog.drewolson.org/dependency-injection-in-go 用法: https://www.dazhuanlan.com/2019/10/01/5d927074b5dd9/
原创 etcd的安裝和使用
點擊這裏
原创 ubuntu更換阿里雲源
點擊這裏
原创 curl操作
點擊這裏
原创 timerfd的使用
點擊這裏
原创 火焰圖和gprof查看程序性能瓶頸
gprof https://fooyou.github.io/document/2015/07/22/performance-tools-for-linux-cplusplus.html https://blog.csdn.net
原创 go中的匿名變量
在結構體B中使用匿名成員A,相當於在B中定義了A的所有變量和函數 type A struct{ dataA int } func (this *A)foo(){ fmt.Print("i am A") } type B s
原创 goroutine原理(C語言表示)
協程: 1、能夠在單一的系統線程中模擬多個任務的併發執行。 2、在一個特定的時間,只有一個任務在運行,即並非真正地並行。 3、被動的任務調度方式,即任務沒有主動搶佔時間片的說法。當一個任務正在執行時,外 部沒有辦法中止它。要進行任
原创 使用go install運行go語言
先設置好GOROOT和GOPATH 比如我的: GOROOT: D:\Go GOPATH: D:\code\go 那麼所有項目都需要放在D:\code\go\src中 假如項目目錄結構如下: D:\code\go\src ├──p
原创 c++中的lower_bound和upper_bound
lower_bound是找到第一個大於等於val的值,沒有就返回end uppder_bound是找到第一個大於val的值,沒有就返回end 前提:數組是有序的 用法 template<class ForwardIterator,
原创 爲什麼go文件服務器中要加入http.StripPrefix
例子: http.Handle("/tmpfiles/", http.StripPrefix("/tmpfiles/", http.FileServer(http.Dir("/tmp")))) 當訪問localhost:xxxx
原创 一個不錯的go專欄
點擊這裏
原创 死鎖的條件和避免
https://www.cnblogs.com/bopo/p/9228834.html 1.互斥 2.請求和保持,請求別的資源,自己的又不放 3.不可搶奪,不能被他人搶奪 4.循環等待 解決: 1.原子操作 2.一次分配所有資源
原创 const char* 和char* const
前者不能改變所指對象,後者不能改變指向