Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。/** * Created with IntelliJ IDEA. * User: zhangjian * Date: 13-5-13 * Time: 下午1:51 * To change this template use File | Settings | File Templates. */package mainimport "fmt"import "unsafe"func main() {
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。channel是訊息傳遞的機制,用於多線程環境下lock free synchronization.它同時具備2個特性:1. 訊息傳遞2. 同步golang裡的channel的效能,可以參考前一篇:http://blog.sina.com.cn/s/blog_630c58cb01016xur.html此外,內建的runtime package裡已經提供了benchmark代碼,可以運行下面的命令查看其效能:go test -v -
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。代碼如下:</pre><pre>package mainimport ("bufio""fmt""net""os""time")const (Head = 4)var (ClientMap map[int]net.Conn = make(map[int]net.Conn))func main() {fmt.Println(os.
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。今天在windows下面go get一個github上的第三方庫時出現異常(也是第一次在windows下面使用go get)如下:>go get github.com/seefan/gossdb出現如下錯誤:go: missing Git command. See http://golang.org/s/gogetcmdpackage github.com/seefan/gossdb: exec: "git"
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。sudo port install graphvizfuyundeMacBook-Pro:~ fuyun$ sudo port install graphvizWarning: The Xcode Command Line Tools don't appear to be installed; most ports will likely fail to build.Warning: Install them by
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
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 一直用java沒用過閉包(我還很菜,可能java也能閉包我不會罷了,希望有人回帖指點),剛接觸golang對其閉包機制也挺疑惑。下面寫了六個版本的閉包小談一下。有幾個版本摘自別家,看了有段時間我一時不記得來源了很對不起作者了!版本1:package mainimport "fmt"func main() {var fn [10]func()for i := 0; i < len(fn); i++
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport ("fmt")type Animal interface {move()}type Human struct {i int}func (r Human) move() { // 注意fmt.Println("人類行走")r.i++}type Bird struct {i int}func (r *Bird) move()
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
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。本文轉自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: