Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go指向空間為 工作空間 不是go所在目錄 還有就是必須配置git路徑 要不無法使用 go的get功能 對了 gobee的bin在空間根目錄裡 不設定環境變數命令也是不能直接使用的 所以也得設定下 這是環境變數參考 沒有GOPATH的話不能用go get 而且go get必須配置git GOPATH D:\gospace GOROOT 也就是go程式所在根目錄 windows時還是寫上吧
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。編譯Go是一門編譯形的語言。現在提供了兩個編譯器。Gccgo是使用GCC作為後端的編譯器。另外針對不同的系統架構還提供了一套編譯器:64位x86系統使用6g;32位x86系統使用8g等等,這些 編譯器編譯速度相當快,但是效率比Gccgo慢。這些編譯器有更穩定的系統,雖然gccgo正在迎頭趕上。下面是如何使用6g編譯並運行我們的程式 $ 6g helloworld.go # compile; object goes
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1.download source : http://golang.org/doc/Installed , here i haved file named 'go1.1.linux-386.tar.gz' , decompress it.2.To build the Go distribution, run$ cd go/src$ ./all.bash(To build under Windows use all.
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。兩個多月前的時候Google公司發布了go語言,大概的看了一下,發現還不支援Windows系統,發了個文章問了一下,大家的建議基本上都是不要去接觸。再加上本人搞程式不久還是個菜鳥,所以這個事就這麼擱置了。
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。C/C++編程相關的複雜性,特別是大一點的工程的維護,如果人員較多,規範等都是較大的負擔,最近正在關注go這麼語言,準備對於並發和系統級的開發引入。Go官網http://golang.org http://blog.golang.org/http://blog.golang.org/index http://www.golang-book.com/ Go 語言最好的教材,大師之作,Golang
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。上一篇文章用golang中的channel實現了簡單的消費者模型,下面的版本是用傳統的鎖技術實現的版本,相對比會發現golang提供的channel更好用。而且golang的channel可以完成很多在別的語言裡需要很多代碼才能實現的功能。以後陸續解答。package mainimport ("fmt""sync""time")type Queue struct {Elem
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 github上有兩個package做編碼轉換,都是基於iconv,用到了cgo,在linux下沒有問題,在windows下用,非常麻煩。採用mingw安裝libiconv也不行,一直提示找不到libiconv方法。 最終找到一個官方實現(純go實現): https://code.google.com/p/go/source/checkout?repo=text gbk轉utf-8樣本: func
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。////////////////////////////////////////////////////////////////////////////////////////////////////// filename : main.go// author : LiuDongguo// contact : jealdean@outlook.com// created : 21:39 16 Sep 2014///////
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 這幾日,在項目中順手做了一個功能,讀取手機歸屬地資訊,然後插入mongodb 手機歸屬地格式號碼省份城市卡型區號130001江蘇常州江蘇聯通0519 代碼如下package mainimport ("encoding/csv""encoding/json""fmt""io""labix.org/v2/mgo""os"
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。http://www.mikespook.com/learning-go/ 看了這本書,很想吐槽: 這它喵的不是指標,擺明了是C++裡面的引用! 1、C/C++指標可以++/--,處理的是地址值; go的指標可以++/--,處理的是指向的變數的值; 2、C/C++中如果一個指標指向一個帶函數的類/結構,可以用(*pClass).func()或者pClass->func()的寫法來調用函數;
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。一、學習想法 用兩天的時間學習golang,但這次是先不看書的,直接寫代碼先。 我們常習慣邊看書邊學習寫代碼,但發現過程是比較緩慢的,所以我就先想寫代碼,邊寫邊查。就我們所知,web
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。sudo taskset -c 1 ./wrk -c1 -t1 -d30 http://localhost/hellowrk+nginx(helloworld module) sudo taskset -c 0 sbin/nginx nginx: cpu:76% wrk: cpu:70% Running 30s test @ http://localhost/hello 1 threads
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 memcache的用戶端實現檔案是memcache.go,實現了memcached的協議用戶端,對於學習golang的用戶端網路編程,memcache.go還是非常值得一看的。奇怪的是vitess的安裝文檔沒有提到要求安裝memcached,至於為什麼使用memcache,而不是進程內的cache以節省開銷呢?vitess的文檔是這樣描述的:Go’s existing mark-and-sweep garbage
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。有一段時間,我們的推送服務socket佔用非常不正常,我們自己統計的同一時候線上就10w的使用者,可是佔用的socket居然達到30w,然後查看goroutine的數量,發現已經60w+。每一個使用者佔用一個socket,而一個socket,有read和write兩個goroutine,簡化的代碼例如以下:c, _ := listerner.Accept()go c.run()func (c *conn) run() {
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。在twitter 上有人討論最喜歡的golang 特性,我也寫下我最喜歡的golang 特點:1.智能堆棧(與GC機制一起工作)對程式員來說消除堆與棧的界限(在語言層次解決了堆棧問題,程式員不再關係資料是存在哪裡,能不能用,解放了程式員),最顯著特點就是:局部變數地址可以直接返回,只要還有引用,GC就不會回收;2.slice declare slice variable 可以直接使用append 不需要去make3.duck
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。原文同步至:http://www.waylau.com/golang-game-guess-numbe/隨機產生一個數字,輸入一個數字看是否匹對,匹配則結速,反之提示是大了還是小了,代碼如下:package mainimport ("bufio""fmt""math/rand""os""strconv""time")var
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。直接貼代碼func sliceModify(slice []int) { // slice[0] = 88 slice = append(slice, 6)}func main() { slice := []int{1, 2, 3, 4, 5} sliceModify(slice) fmt.Println(slice)} 返回的沒變,坑爹的,這個設計太那啥了,可以正確跑出效果的版本如下:func
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport ( "fmt" "reflect" "time")func main() { //格式化字串為時間 test, _ := time.Parse("2006-01-02", "2013-11-11") //時間增加 after, _ :=
Time of Update: 2014-10-04
這是一個建立於
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport ( "fmt" "os")func main() { fileinfo, err := os.Stat(`C:\Users\Administrator\Desktop\UninstallTool.zip`) if err != nil { panic(err) }