Time of Update: 2014-10-06
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go使用C的庫非常簡單,通過cgo這個工具基本上可以說是無縫整合了。下面就示範一下用cgo在Windows下面封裝API的過程。注意,請把Go更新到最新一個Weekly版本。 首先,在$GOPATH\src(如果不知道$GOPATH是什麼,請移步這裡看詳細資料)下面建立一個檔案夾“w32api”,然後在其內建立一個檔案“kernel32.go”,內容如下。 package w32api // #define WIN32_LEAN_
Time of Update: 2014-10-06
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。在工作了10年之後,我於32歲的年紀在兩個月前辭職創業了。 簡單介紹一下之前的整個職業生涯,挺典型的,工程師 –> 資深工程師 –> 架構師 –> 專案經理 –> 部門經理,可以說,產品研發過程中的所有角色我都走了一遍,任職的公司也越來越大,可是內心的不安確實與日俱增,總覺得這一身本事漸漸被淹沒在了辦公室的各種瑣碎之中,心中想要做一款好產品的夢想似乎越來越遠了。
Time of Update: 2014-10-06
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。json通用的資料交換格式,剛想做個別的東西,就想到要用json交換資料,就先把json的編碼和解析搞定.看了看文檔,寫了一個案例代碼.如下:package main import ( "fmt" "encoding/json") func main() { // json encode j1 := make(map[string]interface{}) j1
Time of Update: 2014-10-05
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。golang的template包很好用,做一些複雜的文字格式設定產生太有協助了,產生網頁也是很不錯的,使用起來非常方便.package main import ( "fmt" "os" "text/template") type Latlng struct { Lat float32 Lng float32} func (latlng
Time of Update: 2014-10-05
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。根據顯示長度截取字串,之前php用的utf8編碼,10個英文和10個漢字的顯示長度差距太大,按位元組截取的話又會出錯出現截取半個漢字的情況,所以寫了這兩個函數.這兩天在折騰golang,所以就用golang重寫了著連個函數.代碼如下:package main import ( "fmt") func main() {
Time of Update: 2014-10-05
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。http://www.dotcoo.com/golang-unicode-encode golang在很多時候要對中文進行unicode編碼,今天有興趣就寫了一個,golang太爽了今天寫了不少文章了.呵呵package main import ( "fmt" "strconv") func main() { rs :=
Time of Update: 2014-10-05
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。http://www.dotcoo.com/golang-strconv-atoi-itoagolang strconv atoi itoa 在做任何項目的時候都要用到字串和數字,相互轉換是最近基本的操作,哈哈 這裡就介紹golang怎麼做這些事情參考代碼如下:package main import ( "strconv") func main() { i, err :=
Time of Update: 2014-10-05
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。golang mongodb mgo 插入,查詢的一個小例子,golang還是給我那個感覺,比nodejs寫起來舒服.package main import ( "fmt" "launchpad.net/mgo" "launchpad.net/mgo/bson") type Mail struct { Id
Time of Update: 2014-10-05
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。示範地址:http://gblog-revel.herokuapp.com/ 源碼:https://github.com/joveth/GBlog 教程wiki源: https://github.com/joveth/GBlog/wiki/_pages 教程CSDN源: http://blog.csdn.net/jov123/article/category/2216585 目錄: 第1章 述與環境 第2章
Time of Update: 2014-10-06
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 https://www.nitrous.io/ 需要註冊,開發環境是一個類linux虛擬機器,雖然建立虛擬機器時需要選擇語言,但我測試了,go語言下的虛擬機器,其實同時也支援了c/c++、java、python、ruby 可以和 http://ideone.com/ 對比一下,支援語言沒有那麼多,但是開發限制少了很多,完全可以上傳自己的IDE和調試工具。
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 http://OpenBook.me 構建一個公用創作開源書籍的社區, 供大家將自己的經驗寫出來, 寫成筆記, 寫成書籍。 然後通過寫作的方式, 將自己的經驗分享出去, 這對開源技術傳播的作用是巨大的。這個網站類似 github, 使用者可以自己建立書籍, 也可以參與別人寫的書籍, 還可以 fork
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package beegoimport ("sync")type BeeMap struct {lock *sync.RWMutexbm map[interface{}]interface{}}func NewBeeMap() *BeeMap {return &BeeMap{lock: new(sync.RWMutex),bm: make(map[interface{}]interface{}),}
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。receiver為值的方法,編譯器實現了對應的receiver為指標的方法,不是簡單的取值後調用的封裝,而是真正操作該欄位 receiver為指標的方法,則沒有實現對應的receiver為值的方法,值可以調用只是文法糖(取指標後調用) 編譯器對介面則沒有文法糖提供 method-value綁定的receiver在綁定時就確定了,乃是一個拷貝,而非外部變數
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。<TCPFORWORD><TARGET IP="192.168.1.98" PORT="9527" /><TARGET IP="192.168.1.97" PORT="9527" /></TCPFORWORD>
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 API應用開發入門 Go是非常適合用來開發API應用的,而且我認為也是Go相對於其他動態語言的最大優勢應用。beego在開發API應用方面提供了非常強大和快速的工具,方便使用者快速的建立API應用原型,專心商務邏輯就行了。 快速建立原型 bee快速開發工具提供了一個API應用建立的工具,在gopath/src下的任意目錄執行如下命令就可以快速的建立一個API應用: bee api beeapi
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 application: myapp # 你的google app id version: 1 # 版本 runtime: go # 運行時語言 api_version: go1 # API的版本 default_expiration: 1d 2h 3m 4s # 可選的,如果靜態資源沒有設定expiration,則會使用該項 handlers:
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go語言追求簡潔優雅,所以,Go語言不支援傳統的 try…catch…finally
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package main import ("fmt""bufio""io""os""flag""strconv")// 使用命令列 -in 預設為infilevar in *string = flag.String("in", "infile", "input file name ..."
Time of Update: 2014-10-05
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 1 package main 2 3 import ( 4 "fmt" 5 ) 6 7 //define a interface 8 type ITest interface { 9 myTest()10 }11 12 //implement13 type Man struct{}14 15 func (man *Man) myTest() {16
Time of Update: 2014-10-05
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 我比較喜歡先給出代碼,然後得出結論數組 1 package main 2 3 import ( 4 "fmt" 5 ) 6 7 func main() { 8 arr := [...]int{1, 2, 3} 9 //列印初始的指標10 fmt.Printf("the pointer is : %p \n", &arr)11