Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。例子package mainimport ("github.com/lxn/win""strconv""syscall")func _TEXT(_str string) *uint16 {return syscall.StringToUTF16Ptr(_str)}func _toString(_n int32) string {return strconv.Itoa(int(_n))
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。以下是讀取檔案內容package mainimport ( "bufio" "fmt" "io" "os" "strings")func main() { fh, ferr := os.Open("d:\\n.txt") if ferr != nil { fmt.Printf(
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。slice介紹
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。gif包實現了gif圖片的解碼及編碼func Decode(r io.Reader) (image.Image, error) //Decode從r中讀取一個GIF映像,然後返回的image.Image是第一個嵌入的圖。func DecodeConfig(r io.Reader) (image.Config, error)
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。如果你運行隨機數rand.Intn(n)這個函數,會發現每次產生的隨機數都是一樣的。比如:i := 0for i<10 { i++ fmt.Println(time.Now(),math.Pi,rand.Intn(3))}這段代碼分別運行兩次,產生的序列是一樣的。為了產生“真正”的隨機數,可以用時間作為基數。用下面的方法。package main import ( "fmt"
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。出現這個問題的原因在於,資料庫欄位資訊有null值比如建表的時候有欄位使用了default null,那麼對該條資料填充內容的時候,如果此欄位沒有值,為空白,那麼讀取表的時候,就會出現(此欄位類型為字串)sql: Scan error on column index 7: unsupported driver -> Scan pair: <nil> -> *string解決辦法很簡單:1
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go test是go語言內建的測試載入器,其中包含的是兩類,單元測試和效能測試通過go help test可以看到go test的使用說明:格式形如:go test [-c] [-i] [build flags] [packages] [flags for test binary]參數解讀:-c : 編譯go test成為可執行檔二進位檔案,但是不運行測試。-i : 安裝測試包依賴的package,但是不運行測試。關於build
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。github:https://github.com/ZhangzheBJUT/blog/blob/master/closure.md 一 函數式編程概論在過去近十年時間裡,物件導向編程大行其道,以至於在大學的教育裡,老師也只會教給我們兩種編程模型,面向過程和物件導向。孰不知,在物件導向思想產生之前,函數式編程已經有了數十年的曆史。就讓我們回顧這個古老又現代的編程模型,看看究竟是什麼魔力將這個概念在21世紀的今天再次拉入我們的視野。
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport ("code.google.com/p/go.net/websocket""fmt""log""net/http""html/template")func Echo(ws *websocket.Conn){var err errorfor{fmt.Println("start")var reply
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。以我自己的項目為例,項目的目錄結構是這樣的:1、我有兩個項目,一個項目做為基礎項目,裡面的方法大都具有通用性。2、還有一個正在開發的項目,這個項目需要調用基礎項目裡的很多函數。現在基礎項目裡有一個包含所有對資料庫進行操作的函數的檔案,名叫servicebase.go,包名:db代碼如下:packaeg dbtypeServiceBasestruct{ DBE
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport ("fmt""html/template""net/http""os")type Person struct {Name stringAge intEmails []stringCompany stringRole string}type OnlineUser struct {User
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 RESTful API 這玩意不用多說了,用Go做了個很簡單的例子: 服務端在被調用時返回JSON, 用戶端解析得到相關JSON資訊.服務端源碼:package main//簡單的JSON Restful API示範(服務端)//author: Xiong Chuan Liang//date: 2015-2-28import
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1、整形到字串: var i int = 1var s strings = strconv.Itoa(i) 或者 s = FormatInt(int64(i), 10)2、字串到整形 var s string = "1"var i inti, err = strconv.Atoi(s) 或者 i, err = ParseInt(s, 10, 0)3、字串到float(32 / 64) var s
Time of Update: 2015-06-17
這是一個建立於
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。chan其實是一個隊列,而且是一個帶有鎖等待功能的隊列,因此用它可以做很多任務隊列相關的工作,比如說串連池。最近打算用go來寫一個小的軟體組態管理系統,使用中發現沒有串連池,於是就是chan寫了一個簡單的,使用了一下發現相當好用。 var MySQLPool chan *mysql.MySQLfunc getMySQL() *mysql.MySQL { if MySQLPool == nil {
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport ("os""os/exec""path/filepath")if os.Getppid()!=1{ //判斷當其是否是子進程,當父進程return之後,子進程會被 系統1 號進程接管filePath,_:=filepath.Abs(os.Args[0])
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport ( "fmt" "math/rand" "time" "bytes")func main() { fmt.Println(randomString(10) )}func randomString (l int ) string { var result
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。在編寫 golang 程式的過程中,channel 會經常使用。本文對 channel 的使用的確很特別,同時也非常實用。原文在此:http://dave.cheney.net/2013/04/30/curious-channels————翻譯分隔線————絕妙的 channel在 Go 程式設計語言中,channel 是一個閃耀的特性。它提供了一種強大的、在不使用鎖或臨界區的情況下,從某個 goroutine 向其他
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。goroutine與調度器29 November
Time of Update: 2015-06-17
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。A Tour of GoExercise: Rot13 ReaderA common pattern is an io.Reader that wraps another io.Reader, modifying the stream in some way.For example, the gzip.NewReader function takes an io.Reader (a stream of gzipped data)