Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go 如果使用自己的伺服器,可以直接使用 net/http 來擷取 func ip(w http.ResponseWriter, r *http.Request) { fmt.Println(r.RemoteAddr)} 另外,在net包中也有 func (c *IPConn) RemoteAddr() Addr 以上是擷取使用者的ip,是與使用者直連的ip,如果走代理,會是代理的ip
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。你可以在任何的自訂類型中定義任意多的method,接下來讓我們看一個複雜一點的例子package mainimport "fmt"const( WHITE = iota BLACK BLUE RED YELLOW)type Color bytetype Box struct { width, height, depth float64 color Color}type
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。閱讀該文後的一些理解 1 io.Writer介面 io.Writer介面有如下定義 package io type Writer interface { Write(p []byte) (n int, err error)}//根據go中介面的特點,所有實現了Write方法的類型,我們都說它實現了io.Writer介面。 2 somepkg.abc類型實現了io.Writer介面 package
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。自2009年Go語言發布以來,我一直在關注Go語言,如今Go語言已經發展到1.2版本,而且也收到越來越多的人關注這門語言。Go語言設計的目的就是為瞭解決執行數度快但是編譯數度並不理想(如C++)以及編譯速度快但執行效率不佳(.NET、Java),或者開發難度低但執行速度一般的動態語言這一問題。所以說,Go語言的特點是:快速編譯,高效執行,易於開發。好了,跳過那些框框條條的craps,
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。2014-1-25 在設計mongo資料庫時遇到這樣一個問題,日誌資訊表需要引用人員資訊表的資料.如果是結構化資料庫,基本上不用想太多的東西.由於剛接觸非結構化資料庫,按著書上的理解由於日誌數量較多,如果採用嵌入式資料的話會產生太多的可變因素(不知道這樣說是不是合理,比如說人員經常在各個部門亂跳則會造成資料經常變更 ^_^!),所以需要用到引用資料方式.今天先寫了個插入資料的測試DEMO,有時間再補上個查詢.package
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1.定義變數goLang中定義變數的方式很多先聲明再使用;如果定義的變數未使用編譯時間會報錯 a. /*定義單個變數*/var varName type //定義一個 type 類型的變數 varNamevarName = value //給變數 varName 賦值var varName type = value //定義變數並賦初始值/*定義多個變數*/var varName1,
Time of Update: 2014-10-04
這是一個建立於
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1. GOROOT GOPATH 及 PATH 設定 a.添加系統變數GOROOT:安裝完Go第一件事就是設定GOROOT。例如我的Go安裝在C:\Go目錄,則要設定 GOROOT = C:\Go b.修改環境變數PATH:將%GOROOT%\bin加到環境變數PATH裡面,這樣就可以直接在dos命令模式下任意目錄運行%GOROOT%\bin目錄下的程式 如:go.exe godoc.exe
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。本文涉及軟體均以截至到2013年10月12日的最新版本為準 1、 相關軟體準備: 1) go1.2rc1.windows-386.msi,對應32位windows系統安裝使用 下載地址: https://code.google.com/p/go/downloads/detail?name=go1.1.2.windows-386.msi 2)
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。工作中用go語言寫了點指令碼代替python的功能,涉及檔案讀寫,記錄如下package mainimport ( "os" "os/exec" "log" "bytes" "strings" "bufio" //檔案讀寫
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 用go寫了幾個應用之後,對它的幾個類型理解得可以說也比較到位。 數組
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 參考 http://golang.org/doc/install.html參考google官方文檔,並結合自己的經曆,算是一半翻譯,一般原創把,其中有許多不懂的地方,請高手指點 1, 設定環境變數$GOROOT :go的根目錄,一般設為$HOME/go,也可設為其他目錄$GOOS :目標作業系統目前他的選項有linux, darwin (註:Mac OS X 10.5 or 10.6)和nacl (
Time of Update: 2014-10-04
這是一個建立於
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。在使用go的過程中,我們有時候會引入一些第三方庫來使用,而通常的方式就是使用`go get`,但是這種方式有一個很嚴重的問題,如果第三方庫更新了相關介面,很有可能你就無法使用了,所以我們一套很好地包管理機制。 在讀生產環境下go語言最佳實務有感一文中,我介紹過soundcloud公司的做法,直接將第三庫的代碼check下來,放到自己工程的vendor目錄裡面,或者使用godep。 不過現在,我發現了一種更好的包管理方式gopkg。
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。更新日誌: 更新至2012.4.8的vitess代碼 新的代碼增加了同步用的條件變數,沒有空閑資源時的排隊不再使用channel來同步(使用其它程式設計語言的同學可以方便的移植這個代碼了),轉而使用condition variable。不再使用mu.RLock,統一使用Lock,不再糾結。 整體代碼清晰了許多。
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。使用Redigo這個庫package mainimport ("fmt""redis""time""strconv")var (server string = "192.168.1.105:6379"password string = "passwd")var pool *redis.Poolfunc test(i int) {c :=
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。記錄一些go指令碼,使用定時器,訊號,go輕量級線程,調用系統命令,壓縮,計算md5,列表,擷取本機IP等功能(向程式發送訊號如:kill -2 進程號)package mainimport ("os"; "os/signal"; "os/exec""syscall""net""time""strconv"; "
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 gopack grc _test/http.a _gotest_.6--- FAIL: http.TestClientGet http://www.google.com/robots.txt: read tcp:192.168.1.2:49664->64.233.189.103:80: connection reset by peerFAILmake[1]: *** [test] Error 1make: ***
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 代碼一: package mainimport ("fmt")func main() {a,b :=1,2 a,b := 3,4fmt.Println(a, b)} 代碼二: package mainimport ("fmt")func main() {a, b := 1, 2k, b := 3, 4fmt.Println(a, b, k) //1,4,2}
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1、環境變數GOLANG官網介紹 $GOROOTThe root of the Go tree, often $HOME/go. This defaults to the parent of the directory where all.bash is run. If you choose not to set$GOROOT, you must run gomake instead of make or gmake when