Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go語言中定義變數使用關鍵字var,如:var x int=4也可以寫成x:=4;在函數中,:= 簡潔指派陳述式在明確類型的地方,可以用於替代 var 定義。(:= 結構不能使用在函數外,函數外的每個文法塊都必須以關鍵字開始。)package mainimport ( "fmt")func main() { var x int = 4 fmt.Println(x)//輸出4 fmt.Println(&
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。由於revel架構本身對於model層的編寫沒有提供任何指導,所以在設計這部分的時候就有些猶豫,反覆斟酌到底怎樣才算是最佳實務。 我在做山坡網的時候剛開始也糾結了一下,拿不準mongodb的session的建立和銷毀應該在什麼地方處理。直到有一天看到了revmgo的作者在與revel的作者討論(具體內容在這裡),就去研究了下revmgo,之後立即就用它替換了我自己的實現。 先說下用法吧。 1.
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。2012-05-19 翻譯自這裡, 對原文有所擴充, 也有所刪減. go是函數式程式設計語言嗎?不是, 當然不是. 那麼, go提供函數嗎?是的, 當然, 大多數程式設計語言都提供函數, go也不例外. 不相信嗎? 我會用代碼讓你閉嘴:func SayHello() { fmt.Println("Hello")}看見了吧. go使用關鍵字func定義函數,
Time of Update: 2014-10-04
這是一個建立於
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 go語言/IDE/golang/go語言list和slice效能測試 package mainimport (l "container/list""fmt""time")var (name = "viney")func list() {names := l.New()t := time.Now()for i := 1; i <= 1000000; i++
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。工作中用到了C/S模型,所做的也無非是給伺服器發資料,但開發階段會遇到程式自身的迴環測試,需要用到簡單的服務端以便驗證資料發送的正確性。寫軟體用C++,跑測試用python,這段時間也剛好看go語言,所以都要有demo。以下三組程式實現的功能相同,這裡一起做下總結。一、C++實現 Boost.Asio是一個跨平台的C++庫,它用現代C++方法為網路和底層I/O程式提供了一致的非同步I/O模型。
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。最近因為項目需要,所以寫了一個id產生器,於是當時想為了省事就用go語言來寫得了,於是花了大概半天的時間寫了300多行碼,完成之後開始測效能。一開始是在自己的虛擬機器上測的,用戶端是用php的,結果發現php在單進程環境下只能跑30個請求,這個結果其實也不意外,因為這根本就不是伺服器的問題,而是php本身的效能不行,所以壓力壓不上去。於是用pcntl_fork出多個進程來,每個進程跑一些請求,最後在主進程裡計算總的時間,結果發現1
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.msi2) go1.2rc1.windows-amd64.msi,對應32位windows系統安裝使用下載地址:
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 突然間,回想起了以前的生活,想起了很多的事情,現在回想到的過去都是美好的,都是現在所想念的,人生就是這樣,很多東西都要失去後才會懂得珍惜!現在想想現在的生活是不是等到以後又要開始想念了呢?
Time of Update: 2014-10-04
這是一個建立於
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。json不用多說,一種跨語言的交換協議,這裡探討一下Go語言對json的支援。Go對於json有官方自己的解析包,先談一下json的解碼方式。解碼的api如下:func Unmarshal (data []byte, v interface{})在go中,json解碼的資料結構有兩種,一種是解析到結構體,一種是解析到空的interface。以資料 {"changes": [{"index":5, &
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 今天接觸到了Go語言, 請原諒我現在才接觸到Go, 之前聽雲風大神說起過, 但我總把它和易語言混淆了, 導致我沒有更早的瞭解到這個語言. 就在一年多前, 那個時候的我還是對C++無比的熱愛, 認為c++是做後台伺服器的不二選擇. 那個時候總認為c 跟 c++是一家的, 所以我總愛標榜自己為c/c++程式員. C++雖然完全相容了C(這是優點, 也是C++致命的缺陷), 但是C++跟C的設計思想可以說是很不一樣的,
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。golang程式日誌記錄
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 1.先上代碼package main import fmt "fmt" // Package implementing formatted I/O. func main() { fmt.Printf("Hello, world; or Καλημέρα κόσμε; or こんにちは 世界\n")}2.說明:1) 原始碼採用UTF-82) 注釋方式與C++ 相同 : // or /**/3)
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。系統內容變數:export PATH=$PATH:/usr/local/go/bin golang ide liteide環境變數設定: # native compiler linux amd64GOROOT=/usr/local/go //golang 的安裝目錄()#GOBIN=GOARCH=amd64GOOS=linuxCGO_ENABLED=1GOPATH = /home/www/g
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 常用的訊息摘要演算法有MD5和SHA,這些演算法在python和go的庫中都有,需要時候調用下就OK了,這裡總結下python和go的實現。一、python訊息摘要樣本代碼如下:#! /usr/bin/python''' File : testHash.py Author : Mike E-Mail : Mike_Zhang@live.com'
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Deis 是一個 Django/Celery API 伺服器、Python CLI 和一組 Chef cookbooks 合并起來提供一個類似 Heroku 的應用平台,用於公用雲端和私人雲端。Deis 的口號是:Your PaaS. Your Rules.Deis 是一個開源的 PaaS 系統,簡化和 LXC 容器和 Chef 節點的發布和伸縮。可用於託管應用、資料庫、中介軟體和其他服務。Deis 利用 Chef、Docker
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Windows下,以".py"為副檔名的Python程式可以雙擊運行,用起來很爽,現在玩go語言,我也想這麼玩……這裡說說我的玩法。範例程式碼(test.go): package mainimport ( "fmt" "time")func main() { fmt.Println("Test") time.Sleep(
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go語言自動補全代碼,需要添加gocode的程式。執行:go get github.com/nsf/gocode一般來說,gocode的源碼會在$GOPATH/src/github.com/nsf/gocode/gocode的程式也會編譯完成,通過命令查詢gocode的位置which
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。c語言和unix的發明者之一、最具傳奇性的程式員kenthompson自從接受google的約請之後就一心一意投入了新的程式設計語言的開發, 當然了他的努力也得到了報答, go語言完成不久就進入了tiobe程式設計語言的前20榜單。 peterseibel:我知道google有一個規定, 那就是每個新員工在被允許checkin代碼之前都必需經過程式設計語言考試, 我還沒有去參與考試,