Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。golang串連mongodb需要的包:"labix.org/v2/mgo""labix.org/v2/mgo/bson"//串連資料庫 session, err := mgo.Dial("10.127.2.19:27017")//要已連線的服務器和連接埠 if err != nil { panic(err) }
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport ("crypto/md5""fmt""io""strconv""time")func main() {crutime := time.Now().Unix()fmt.Println("crutime-->", crutime)h := md5.New()fmt.Println("h--
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。大家都知道,golang中可以這樣定義一個類型:type PowerString string這種不是物件導向中的繼承,但有點像,因為PowerString能得到string的屬性方法等。我們給PowerString寫個方法:func (ps PowerString) Print() {
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。紅/黑樹狀結構是一種基於二叉尋找樹的資料結構,它具有如下性質:(1) 二叉尋找樹的性質它都有(2) 每個節點都有一個顏色屬性,每個節點或是紅的或是黑的(3) 根節點必須是黑的(4) 每個葉子節點(nil節點)為黑(5) 如果一個節點為紅的,那麼它的兩個孩子都是黑的(6)
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。在編寫 golang 程式的過程中,channel 會經常使用。本文對 channel 的使用的確很特別,同時也非常實用。原文在此:http://dave.cheney.net/2013/04/30/curious-channels————翻譯分隔線————絕妙的 channel在 Go 程式設計語言中,channel 是一個閃耀的特性。它提供了一種強大的、在不使用鎖或臨界區的情況下,從某個 goroutine 向其他
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。轉自部落格園http://my.oschina.net/u/157514/blog/148285golang 語言中 也有類似javascript 的 typeof 判斷類型的 方法比如 func (a interface{}){ //第一種 if inst,ok:=a.(TypeA);ok{ inst.MethodA() }
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。以下內容摘自許世偉《go語言程式設計》:連接字串使用" +
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。func f()(string,error){ return "test scope of variable",nil}func main() { var name string if name,err := f();nil ==err{ println(name) } println(name) fmt.Println("Hello,
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。在go內建的timer實現中,採用的是通常的最小堆的方式,具體可以參見這裡。最小堆能夠提供很好的定時精度,但是,在實際情況中,我們並不需要這樣高精度的定時器,譬如對於一個串連,如果它在2分鐘以內沒有資料互動,我們就將其刪除,2分鐘並不需要那麼精確,多幾秒少幾秒都無所謂的。以前我們單獨實現了一個timingwheel,採用的是channel
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。os/signal包實現對訊號的處理golang中對訊號的處理主要使用os/signal包中的兩個方法:一個是notify方法用來監聽收到的訊號;一個是 stop方法用來取消監聽。func Notify(c chan<- os.Signal, sig ...os.Signal)func Notify(c chan<- os.Signal, sig ...os.Signal)第一個參數表示接收訊號的channel,
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。golang 擷取當前路徑和上一級父路徑(目錄)package mainimport ("fmt""log""os""path/filepath""strings")func substr(s string, pos, length int) string {runes := []rune(s)l := pos + lengthif l >
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。學了一段golang,覺得應該實踐一下,寫了這個猜拳小遊戲,順帶著學習下go testing。主程式源碼:package mainimport ("bufio" // 輸入輸出"fmt""math""math/rand""os""strconv""time")//rock, paper, scissorsconst
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。背景描述:公司資料庫用mssql,web伺服器又打算遷移到linux,發現真是悲劇啊,到處是地雷。進入正題1.安裝ODBCInstall:yum install unixODBC
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。最近由於某某漏洞原因,2000萬開房資料被曝光,資料是csv格式,開啟慢的要死,於是想把這2000w的開房資料匯入mysql,然後用go寫個簡單的查詢工具。悲劇開始了:第一步,下載 mysql模組,go get github.com/go-sql-driver/mysql,第二步,寫個小例子測試下package mainimport ("database/sql"
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 golang pprof 使用2013-11-16
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport "fmt"func main() { fName := "clientupdateVersion" pName := "version" otherParameters := [] string {} printFuncHeader(fName, pName)
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。學習什麼語言都得從讀檔案開始,好像記得一個大神說過電腦編程就是"開啟檔案,操作,關閉檔案"。初學Golang就記一下go語言的檔案操作Read Filefunc main(){ rw,err := os.Open("") if err != nil { panic(err) } defer rw.Close() rb := bufio.NewReader(rw) for { line, _,
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。初學golang,寫個快速排序練練手,無需額外編寫partition函數,直接使用一個函數遞迴實現快排。gopackage mainimport "fmt"func quickSort(arr []int, start, end int) { if start < end { i, j := start, end key := arr[(start+end)/2]
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。本文轉自chen yuwen的部落格:http://my.oschina.net/yuwenc/blog/300592example1func f() (result int) { defer func() { result++ }() return 0}example2func f() (r int) { t := 5 defer func() { t =
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1.錯誤描述使用如下方式安裝beego的時候出錯go get github.com/astaxie/beego錯誤資訊: go install unicode/utf8: open /opt/go/pkg/linux_amd64/unicode/utf8.a: permission denied go install unicode: open /opt/go/pkg/linux_amd64/unicode.a: