Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。【 聲明:著作權全部,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 這是一篇關於聊天室開發的部落格,原來文章的地址來自於此。這篇文章非常具有代表性,對於代碼中的函數部分內容,不想多說什麼,僅僅是對它的實現進行一些必要的解說。關於代碼,大家既能夠在這裡閱讀,也能夠跳轉到那篇部落格,繼續閱讀。package mainimport("fmt""os""
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 符號 二進位表示 十進位表示 0110 6 1011 11 & 0010 (上下都是1的話才是1,否則是0) 前後順序不管,類似加法:1+2=2+1 2 | 1111
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 // urlshortpackage mainimport ( "bytes" "encoding/json" "fmt" "io/ioutil" "log" "net/http" "os")type
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 map 資料直接賦值,或者作為函數參數傳遞時是 指標傳遞, 修改其中一個則會修改全部變數資料 func main() { var s_map = make(map[int]int) for i := 0; i <= 5; i++ { s_map[i] = i } fmt.Println(s_map) s_map2 := s_map s_map2[10] =
Time of Update: 2014-10-04
這是一個建立於
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 作者:John Graham-Cumming. 原文點擊此處。翻譯:Lubia Yang(已失效) 前些天我介紹了我們對Lua的使用,implement our new Web Application Firewall. 另一種在CloudFlare (作者的公司)變得非常流行的語言是Golang。在過去,我寫了一篇 how we use Go來介紹類似Railgun的網路服務的編寫。
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1.傳回值使用通道func main() { // 產生隨機數作為一個服務 randService := randGenerator() // 從服務中讀取隨機數並列印 fmt.Printf("%d\n",<-randService)}func randGenerator() chan int { // 建立通道 out := make(chan int) //
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package main import ( "bufio" "bytes" "io" "os" "unicode" ) const ( stat_none = iota stat_group stat_key stat_value stat_comment ) type Attr struct { Name string Value
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。編譯 go 程式可以使用內建的一些 Makefile 指令碼來簡化編寫 Makefile 。官方的文檔過於簡略,沒提到需要指定依賴包位置的方法。翻過那幾個指令碼代碼後,發現原來有 LDIMPORTS 和 GCIMPORTS 可以指定。 比如: include $(GOROOT)/src/Make.inc LDIMPORTS=-L ./pkg/_obj GCIMPORTS=-I ./pkg/_obj TARG=tool
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。使用go get下載github.com等網站的代碼時,有時候會發現下載的代碼與網站上的代碼不一致。如seelog庫查看了go 1.1.2源碼中get.go,發現下載代碼時會首先查看命名為"go1"的tag。如果有,則下載此tag的代碼,而非master分支的當前代碼解決方案(簡單一點的):到$GOPATH/src/第三方庫原始碼目錄,執行git checkout master(或其他分支),切換分支;執行go
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go語言從誕生到普及已經三年了,先行者大都是Web開發的背景,也有了一些普及型的書籍,可系統開發背景的人在學習這些書籍的時候,總有語焉不詳的感覺,網上也有若干流傳甚廣的文章,可其中或多或少總有些與事實不符的技術描述。希望這篇文章能為比較缺少系統編程背景的Web開發人員介紹一下goroutine背後的系統知識。 作業系統與運行庫 並發與並行 (Concurrency and Parallelism) 線程的調度
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mymathfunc Add(a, b int) int { return a + b}func Max(a, b int) (ret int) { ret = a if b > a { ret = b } return}package mymath_testimport ( "mymath"
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。array數組聲明--var arr [10]int,array由[n]<type>定義。n表示數組大小,type表示數群組類型聲明且初始化--arr := [3]int{1,2,3}或者不寫大小var arr := [...]int{1,2,3}或者var arr = [3]int{1,2,3},如果不寫大小可以用三個點來表示,go會自動識別,var
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。初看go語言中的slice,覺得是可變數組的一種很不錯的實現,直接在語言文法的層面支援,操作方面比起java中的ArrayList方便了許多。但是在使用了一段時間後,覺得這東西埋的坑不少,使用方式上和arrayList也有很大的不同,在使用時要格外注意。slice的資料結構首先說一下slice的資料結構,源碼可以在google
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。好吧 我承認,有自己添加的內容也有從別人的blog 中 ctrl + c 的官方:http://golang.org
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。首先開啟install Go頁面:http://golang.org/doc/install.html按著嚮導一步一步來安裝。本人環境:ubuntu9.10,acer Aspire4710 32位機器下文"#"表示解說文字,其餘為在終端中的命令或者檔案操作1.Environment variables(環境變數設定)(1)cd(2)mkdir go(3)mkdir bin(4)vi
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。這篇原來是給公司裡使用go開發的交流用的,主要是工具的安裝,用markdown寫的,發布了內部gitlab上,倉促發布到blog上面,也沒改啥格式,現在整理一下,然後增加一點說明基礎開發工具sublime text2下載為何使用sublime text2?相信很多喜歡輕量級工具,開大量chrome網頁以及使用大量小而精軟體的開發人員都喜歡editor吧,當然最主要是vim mode!安裝package
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。測試完mgo中的DBRef後,想接著測試指定欄位的顯示,才發現原來採用架構編碼,很多問題被隱藏了起來:1.顯示指定欄位: 之前在使用mgo時一直是查詢全部欄位,在mongo終端環境寫為如下格式:> db.logs.find({},{"log":1}){ "_id" : "3a06384a40a8e587806f194c6c80253e", "log" :
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。//x數組,i:x數組的起始下標 y數組,j:y數組的起始下標 //說明:x和y數組都是有序的數組 func merge(x []int, i int, y []int, j int) []int { xlen := len(x)//x數組的長度 ylen := len(y)//y數組的長度 z := make([]int,
Time of Update: 2014-10-04
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport ( "fmt" "reflect")type YourT1 struct {}func (y *YourT1) MethodBar() { fmt.Println("MethodBar called")}type YourT2 struct {}func (y *YourT2) MethodFoo(i int, oo