Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport ("fmt""net""os""time""encoding/binary""bytes""compress/zlib""io/ioutil""runtime"// "github.com/ugorji/go/codec")var
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。學習go的反射對於理解go的底層實現以及介面機制有著非常重要的價值;本篇文章從一個來源程式來體驗一下go反射的兩個核心函數TypeOf 和ValueOf的使用方法,特別體驗下怎麼根據type構造type執行個體的辦法。package mainimport ("fmt""reflect")type Speaker interface {Speak()stringSet(string)}type
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1. 下載軟體,http://download.csdn.net/detail/selecthis/3031645#comment ,一步步next 就行了。2 . 在notepad++寫個小程式: package mainimport "fmt"func main() { fmt.Printf("hello, world\n")}另存新檔hello.go3. 進入cmd
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Switch聲明通過眾多分支來表達條件判斷。package mainimport "fmt"import "time"func main() { // 基礎的switch用法 i := 2 fmt.Print("write ", i, " as ") switch i { case 1:
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。windows下liteIDE搭建go開發環境1. 下載安裝go http://code.google.com/p/golangide/downloads/list2. 下載LiteIDE最新版本並安裝 http://code.google.com/p/golangide/downloads/list3. 環境變數配置如下 4. 配置LiteIDE使用的GO編譯環境 點擊查看-&
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1,安裝gccgo apt-get install gccgo2,gccgo編譯go源碼gccgo -o method2 method1.go結果:method1是go build , method2 是 gccgo 編譯的,發現method2比method1小很多啊,差不多三倍。可能是因為go build編譯的是Debug,而gccgo 編譯的是Release吧。-rwxr-xr-x 1 root root 1286708
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go 有多種值的類型包括字元型(string), 整形(intergers),浮點型(floats),布爾型(booleans)等。這裡有一個簡單的例子。import "fmt"func main() { //字元型可以使用"+"進行串連; fmt.Println("go" + "lang") //整形和浮點型。 fmt.Println(
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。本文主要介紹go Web開發中操作redis。Redigo是go串連Redis的擴充包,用此包時需先執行:go get github.com/garyburd/redigo/redis安裝完後,在檔案中匯入redigo即可。串連redis的範例如下:import ( "fmt" // 匯入redigo擴充包 "github.com/garyburd/redigo/redis")//
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。來自《the way to go》The compiler flags are:C:\Users\ivo>8ggc: usage: 8g [flags] file.go...flags: -I DIR search for packages in DIR -d print declarations -e no limit on number of errors printed -f print stack
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。目錄包與可見度包基本結構別名可見度規則摘要 匯入多個包,包的別名,可見度包與可見度包基本結構包的基本結構如下//程式啟動並執行入口是包 `main`。package main//匯入包 "fmt" 和 "math/rand"import ( "fmt" "math/rand")//或import std "fmt"
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。廢話不說。上代碼:Publisher.go:package mainimport ( "container/list")type Handler interface {//這裡主要參考了Go裡HTTP包的實現 Serve(int)}type HandlerFunc func(args int)func (f HandlerFunc) Serve(args int) {//是不是很熟悉的代碼? f(
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。通過 go help testflag 可以看出,可以使用 test.run 加正在運算式來指定要測試的用例。如有以下用例在包 foo/test 中:func TestFoo(t *testing.T){}func TestFoo1(t *testing.T){}func TestAbc(t *testing.T){}go test -v foo/test 將測試所有的用例 (-v 表示輸出詳細資料,無論成功失敗)go test
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go 中直接利用hset向redis存入資料效率較低,當要存入的資料已知時,可以利用hmset 來替換hset進行儲存。var args []interface{}{"myhash"}for key,value := range fvs { args = append(args, key, value)}_, err := conn.Do("HMSET",
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。服務端用go:(go 1.3)搭建一個tcp伺服器,用戶端用Delphi。通過socket與go進行通訊:服務端代碼:package mainimport ("fmt""net""time""strings""net/http")func main() {service := ":1200"tcpAddr, err :=
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1:學習練手用的 2:我也是看到http://www.oschina.net/code/snippet_2362573_48180這篇文章後發現妹子圖這個網站結構比較簡單,實現起來easy 3:代碼還有很多最佳化的地方,怕老闆看見只能回家搞了 4:歡迎指正直接上代碼package mainimport ("bytes""fmt""io/ioutil""net/http"
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go build -gcflags "-N -l" test(gdb) source /usr/local/go/src/pkg/runtime/runtime-gdb.pyLoading Go Runtime support.(gdb) r -f etc/test.conf(gdb) info goroutines 1 waiting runtime.park* 2 syscall
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。環境變數配置:vi /etc/profile 添加export GOROOT=$HOME/goexport GOBIN=$GOROOT/binexport GOARCH=armexport GOOS=linux為了確保相關檔案在檔案系統的任何地方都能被調用,你還需要添加以下內容export PATH=$GOROOT/bin:$PATH在開發 Go 項目時,你還需要一個環境變數來儲存你的工作目錄export
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1)建立運行環境版本:Go 1.3 beta 1下載地址:https://code.google.com/p/go/wiki/Downloads選擇自己作業系統的版本,建議下載安裝版本,不推薦ZIP,按預設步驟安裝,這樣程式會協助我們添加環境變數。2)編寫第一個程式 hello.gopackage main import "fmt" func main() {
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport ("encoding/xml""fmt""mahonia""os""strconv""text/template")type Attribute struct {Name stringValue string}type Token struct {Name
Time of Update: 2015-06-18
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport ("fmt""net""os")func checkSum(msg []byte) uint16 {sum := 0len := len(msg)for i := 0; i < len-1; i += 2 {sum += int(msg[i])*256 + int(msg[i+1])}if len%2 == 1 {sum +=