Time of Update: 2016-02-25
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。mapmap是一種鍵和值的對的集合。可以只用內建函數make來建立map例:book := make(map[string]int)亦可以通過字面值來建立例:book := map[string]int{ "red": 1, "green":36}使用內建函數delete來移除索引值map亦可以使用range來迭代,在迭代map時使用 key/value結構檢查元素是否存在,可以使用下面的方式:v,
Time of Update: 2016-02-25
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。這段代碼主要來自網路,原始碼存在問題,現在已經修複,可以直接編譯運行package mainimport ("net""fmt""os""runtime""time""strconv")func loop(startport, endport int, inport chan int) {for i := startport; i
Time of Update: 2016-02-25
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go語言沒有提供像其它語言一樣的try catch的異常與捕獲機制,可以用defer、panic、recover代替。defer的語句或函數在當前函數執行完之後再執行,先defer的後執行,後defer的先執行。當程式發生嚴重錯誤的時候defer也能夠執行。有點類似其它語言的解構函式調用panic來製造一個異常調用recover來擷取異常資訊func main(){f1()f2()f3()} func
Time of Update: 2016-02-25
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。相當於其它語言的雜湊表或字典,key-value形式儲存資料key必須是支援==和!=比較運算的類型,不能是函數、map或slicevar m1 map[int]stringm1 = make(map[int]string)fmt.Println(m1) //map[]var m2 map[int]string = make(map[int]string)m2[1] = "OK"fmt.Println(m2) //
Time of Update: 2016-02-25
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。整型有:int8/uint8、int16/uint16、int32/uint32、int64/uint64、int/uint、byte、rune1) 數字表示佔多少位,uint的u表示unsigned,有點C語言基礎的都知道是什麼意思,這裡就不贅述了;2) int/uint會根據運行平台可能為32位或64位;3) rune相當於int32的別名4) byte相當於uint8的別名浮點型有:float32、float64
Time of Update: 2016-02-25
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Google 開發 編譯型 並髮型 具有記憶體回收功能Linux/Mac OSX/Windows文法接近 C For 迴圈和 if 判斷沒括弧 支援記憶體回收並行模型以東尼霍爾的 CSP 為基礎與 C++ 相比 Go 不包括:異常處理、繼承、泛型、斷言、虛函數等 增加 slice 型、並發、管道、記憶體回收、介面(interface)等 不同於 Java Go
Time of Update: 2016-02-25
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。一、Go語言下載 go語言官方下載地址:https://golang.org/dl/ 找到適合你系統的版本下載,本人下載的是windows版本。也可以下載Source自己更深層次研究go語言。 二、GO語言安裝 下載完成之後,雙擊go1.6.windows-amd64.msi進行安裝。 如果安裝過程出現以下提示: 以管理員的身份運行cmd,找到go1.6.windows-amd64.msi所在的目錄,並輸入msiexec
Time of Update: 2016-02-25
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。beego編譯好的exe通過全路徑調用會crash,看了半天,發現是解析不到設定檔,研究了下發現beego自訂設定檔以後,需要收工parse,我表示,以為是自動化的,沒想到是半自動化的……package mainimport ( _ "hello/routers" "github.com/astaxie/beego" "fmt")func main() {
Time of Update: 2016-02-25
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。開始決定丟棄滑鼠,所以準備用vim了。那麼在vim裡面如何搭建golang環境呢?git盛行之下,搭建vim環境是如此簡單。而且vim搭建好了之後,基本上跟IDE沒有差別。高亮、自動補全、自動格式化、查看定義跳轉、文法檢測等等等等, 簡直是不要不要的:Improved Syntax highlighting with items such as Functions, Operators, Methods.Auto
Time of Update: 2016-02-25
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport ( "fmt" "math/rand" "time")func productor(channel chan<- string) { for { channel <- fmt.Sprintf("%v", rand.Float64()) time.Sleep(time.
Time of Update: 2016-02-24
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。需要用到os和bufio包import "os"import "bufio"用os.Open開啟一個檔案,用bufio.NewReader來讀取檔案file, err := os.Open("input.dat")if err!= nil {fmt.Println("failed to open")return}defer file.Close()reader :=
Time of Update: 2016-02-24
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。該函數主要是切片(slice)的拷貝,不支援數組將第二個slice裡的元素拷貝到第一個slice裡,拷貝的長度為兩個slice中長度較小的長度值樣本:s := []int{1,2,3}fmt.Println(s) //[1 2 3]copy(s,[]int{4,5,6,7,8,9})fmt.Println(s) //[4 5 6]有一種特殊用法,將字串當成[]byte類型的slicebytes :=
Time of Update: 2016-02-24
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。改變字串中的某些字元str := "hello roc"bytes := []byte(str)bytes[1] = 'a'str = string(bytes) //str == "hallo roc"截取子串substr := str[n:m] //截取從索引n到m-1的子串遍曆字串//for遍曆,此方式只能遍曆存放ASCII//編碼的字串,比如中文就不行for i := 0;
Time of Update: 2016-02-24
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。去掉最後n個元素line = line[:len(line)-n]兩種遍曆方式for i:=0;i<len(line);i++{// ...=line[i]}for index,value:=range line {//...}二維數組中查詢某個值是否存在found := falseLABEL:for row := range arr {for colum := range arr[row]{if
Time of Update: 2016-02-24
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。這篇部落格我們繼續來看設計模式,今天帶來的是一個最簡單而且最常用的模式-單例模式。那什麼是單例模式呢?相信大家最它最熟悉不過了,那我們就來快速的瞭解一下它的定義。 保證一個類僅有一個執行個體,並提供一個訪問它的全域訪問點。這個解釋足夠簡單。說白了就是假如我們希望我們在我們的系統中該類僅僅存在1個或0個該類的執行個體。雖然單例模式很簡單,但是熟悉java的同學可能瞭解,單例模式有很多寫法,懶漢式、餓漢式、雙重鎖。。。 這麼多形式,
Time of Update: 2016-02-24
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Golang 提供了優雅的並發方式, 繼續使用生產者/消費者模型解決並發是比較 low 的方法. Anyway, 上代碼.package mainimport ( "fmt" "math/rand" "time")func productor(channel chan<- string) { for { channel <- fmt.
Time of Update: 2016-02-24
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 Whilst not a new language, Go has gained a lot of interest over the past two years and the number of bigger name projects utilizing the language is growing rapidly. I wrote an introductory article on the language
Time of Update: 2016-02-25
標籤:轉自:http://blog.chinaunix.net/uid-25906157-id-3138157.html之前使用開發板時發現每次開機後,系統的時間都恢複到初始狀態1970年。一、 先說一下時鐘的概念,時鐘包括硬體時鐘和系統時鐘,系統時鐘就是linux系統顯示的時間,用命令date可以顯示當前系統時間;硬體時鐘就是硬體自身的 時間了。它們兩者沒有關係的,但是可以通過命令設定系統時鐘和硬體設定,讓它們同步。在linux系統設定系統時鐘用命令date,格式為:date 06292050
Time of Update: 2016-02-25
標籤:看這個源碼分析前,建議先看更簡單地例子 basic 的源碼分析(http://www.cnblogs.com/ghj1976/p/5183199.html), 一些基礎知識本篇將不再提及。 audio 的源碼比起 basic 最大的變化是使用了 golang.org/x/mobile/exp/sprite 這個對遊戲精靈的封裝包。 有關 audio 的簡單說明請看:https://godoc.org/golang.org/x/mobile/example/audio
Time of Update: 2016-02-24
標籤:原文見:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF1.內建運算子1.1關係運算子運算子類型說明A = B &