Time of Update: 2014-10-04
這是一個建立於
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。如果你用的時windows , 請自覺忽略, linux && mac 通用。Sublime Text 有個 gosublime ,用來提供golang的文法解析以及提示什麼的。說實話,我一直想要一個匹配自己開發環境的編譯器, 不用來回切換到命令列去build
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。golang並沒有在語言層次上提供逾時操作,但可以通過一些小技巧實現逾時。 原理: 並發一個函數,等待1s後向timeout寫入資料,在select中如果1s之內有資料向其他channel寫入則會順利執行,如果沒有,這是timeout寫入了資料,則我們知道逾時了。
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 想寫點golang的程式,暫時沒錢租伺服器。 發現七牛支援golang開發。打算嘗試下: 我的系統是debian。windows應該類似: 以前有開發googleappengine的經驗。七牛也有類似的命令列,不過沒有介面。 需要使用 qrsync 命令列協助工具輔助, 地址:http://docs.qiniutek.com/v3/tools/qrsync/
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。最近再實現一些功能, 用到了protobuf 還有 xml 。從他們書寫的類型或是測試案例中, 看到了大量這樣的資料結構:type Person struct {Name string `xml:"name"`URI string `xml:"uri,attr"`Email string `xml:"email,omitempty"`InnerXML string `xml:"
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 mkdir /opt/go vim go_install.sh
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。golang作為開源項目,查詢原始碼,查看其具體實現及查看其包、函數的使用方法是非常常見的事情。 本人作為一名golang初學者,經常要查看原始碼,經常要經過很多重路徑,最終開啟了,可是花費的時間非常多,儘管目前無聞大神的gowalker提供了協助,但是1.無網路情況下2.有網路的情況下,還是步驟多。3.初學者要查看高手的寫法也是困擾我的一個方面。
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 golang官方編譯器安裝與配置 安裝gcc工具,因為golang有些功能是使用c寫的,所以構建golang的編譯是必須的 $ sudo apt-get install bison gawk gcc libc6-dev make 安裝mercurial工具,目的使用hg命令來提取golang的原始碼 $ sudo apt-get install mercurial
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 代碼如下: package mainimport s "strings"//別名import ("fmt")var p = fmt.Printlnfunc main() {p("Contains: ", s.Contains("test", "es")) //是否包含 truep("Count: ", s.Count("
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 數組: 定義方式:var arr [n]type,n表示數組的長度,type表示儲存元素的類型。定義好後,可以使用arr[0] = 42,這樣指定下標來進行數組的讀取和賦值。 注意:在go中長度也是類型的一部分,因此[3]int和[5]int是不同類型的。 go中數組不可以改變長度,數組之間的賦值是值的拷貝賦值,即當把一個數組作為一個參數傳人函數的時候,傳入的其實是數組的備份。arr := [10]int{1,2,
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 golang的Map程式: package mainimport "fmt"type e interface{}func mult2(t e) e {switch t.(type) {case int:return t.(int) * 2case string:return t.(string) + t.(string)}return t}func add3(t e) e {switch t.(type)
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。https://code.google.com/p/go/source/browse/misc/vim/readme.txt 如果遇到本地編譯問題,可以使用http://gobuild.io搞定 基礎工具安裝 安裝goimports go get github.com/bradfitz/goimports 安裝gocode go get github.com/nsf/gocode 安裝godef go get
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。無聊嘗試一下golang串連hdfs, 寫了個hello world golang包地址 https://github.com/vladimirvivien/gowfs 安裝 go get github.com/vladimirvivien/gowfs 寫程式之前需要修改hadoop的兩個設定檔 分別是 hsdfs-site.xml 裡的 dfs.webhdfs.enabled <property>
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 1、在golang中import 包A的時候,會自動隱式的調用該包A的init()函數(i字母小寫)。 2、調用順序:如果該包A又import了別的包B,會優先調用包B的init()函數,最後才調用main包的init()函數。 3、一個包的init()函數可以定義多個,每個都會被調用,調用的順序按檔案名稱排序。
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。用python開發也有幾年了,很喜歡它的簡潔。最近在看golang,感覺和python很像,文法簡潔,標準類型相識,標準庫也是一樣的豐富。引用一段文字(http://blog.csdn.net/myan/article/details/2028545): 所謂”魔幻語言“,主要代表作品有C++、Perl、Javascript和Ruby。這些語言擁有豐富的特性,聰明的技
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。這個是做什麼用的? fswatch是一個工具, 通過檢測檔案的變化,並觸發指定的命令 為什麼需要fswatch 寫完代碼最重要的事情之一, 就是檢測一下寫好的代碼是不是能夠工作. 要早提前做的話, 收效越好, 發現的問題越多. 但是如果每次都需要make test, 每次都去編譯或者測試的話, 還是挺煩人的. 所以如果能有一個自動化的工具去做的話, 那將是件很爽的事情. 最近我在忙一個項目, 經常性的需要, 停下來,
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 1. 下載gdb for windows ,點此下載 2.解壓後,將目錄添加到環境變數path 3. 安裝sublimeGdb, 開啟sublime text2 ,ctrl+shift+p, install package,選擇sublimeGdb,斷行符號 4.配置setting , 在sublime text2 中,選擇菜單 Preferences--Package
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。類比測試1,000, 000條資料 每條10個位元組 也就是10M不到的 資料(高度結構化的資料) 過程 1.對象序列化為 byte 2.byte反序為對象 3.gzip壓縮byte 測試語言go測試方案: raw byte,json ,bson, msgpack (protostuff需要先做對象設定檔,比較麻煩,通常認為和msgpack效能相當 )結果:msgpack 勝出 大小
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1. golang程式已耗用時間顯示
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 Cgo 使得Go程式能夠調用C代碼. cgo讀入一個用特別的格式寫的Go語言源檔案, 輸出Go和C程式, 使得C程式能打包到Go語言的程式包中. 舉例說明一下. 下面是一個Go語言套件, 包含了兩個函數 -- Random 和 Seed -- 是C語言庫中random和srandom函數的馬甲. package rand /* #include <stdlib.h> */