這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport ( "fmt" "log" "net" "bufio" "io")func handleConnection(conn net.Conn) { br := bufio.NewReader(conn) for{ data, err :=
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。第一步,得到json的內容contents, _ := ioutil.ReadAll(res.Body)js, js_err := simplejson.NewJson(contents)第二部,根據json的格式,選擇使用array或者map儲存資料var nodes = make(map[string]interface{})nodes, _ =
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。//本程式是為了根據cvs的內容,自動生即時效果的報文,第七列為最後值//用法: 程式名+檔案名稱package mainimport ( "encoding/csv" "flag" "fmt" "io" "log" "os" "strings")func main() {
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。直接上代碼package mainimport (l "container/list""fmt""time")var (name = "viney")func list() {names := l.New()t := time.Now()for i := 1; i <= 1000000; i++ {_ =
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。2013-12-14 wcdj本文介紹go利用管道如何進行並發計算,需要注意go的管道是雙向的,而UNIX管道是單向的。PS:
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1.如果沒有指定content_type的話,http包會查看檔案的前512 byte,從而推測檔案類型。2.常用類型為:text/html 返回網頁格式。text/plain 返迴文本格式,也就說不會解析html。application/octet-stream 一般都是二進位格式,可用來下載。(這個有點複雜,不是很清楚) image/***audio/***video/***
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 因為工作的需要,接觸了websocket,開始的一些很簡單的代碼,都不知道該怎樣運行起來,所以,總是有一層神秘感,卻沒有太多的興趣去研究它。不過,還是免不了要瞭解一些才不至於對於後續的工作有影響。從塌下心來學習,到最後完成編碼測試,不超過一周,遇到了很多問題,萬幸,通過自己的思考和師傅們幫忙都解決了。
這是一個建立於
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。例子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))
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。項目地址:https://code.google.com/p/weed-fs/weed-fs是一個簡單且高效能的分布式儲存系統, 它有兩個目標:1、儲存海量檔案 2、快速存取所存的檔案weed-fs選擇了 key~file 映射的方式實現檔案定址, 而不是POSIX檔案系統已有的機制, 這有點類似於nosql系統, 你可以稱之為“NoFS”weed-fs的實現機制是管理volumes伺服器, 而不是在一個中心階段管理所有的元檔案,
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。關於DNS協議的具體內容可以查看RFC1035,如果英語不太好我推薦下面這個人的譯文:http://blog.csdn.net/tigerjibo/article/details/6827736 翻譯的足夠詳盡了。那麼來看下Go的實現:package mainimport ("bytes""encoding/binary""fmt""net""strings&
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。檔案test.h如下#ifndef _TEST_H#define _TEST_H#ifdef __cplusplusextern "C" {#endifextern void myTest();#ifdef __cplusplus}#endif#endif檔案test.cc如下#include "_cgo_export.h"extern "C" {void myTest()
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。以下是讀取檔案內容package mainimport ( "bufio" "fmt" "io" "os" "strings")func main() { fh, ferr := os.Open("d:\\n.txt") if ferr != nil { fmt.Printf(
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。slice介紹
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。gif包實現了gif圖片的解碼及編碼func Decode(r io.Reader) (image.Image, error) //Decode從r中讀取一個GIF映像,然後返回的image.Image是第一個嵌入的圖。func DecodeConfig(r io.Reader) (image.Config, error)
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。如果你運行隨機數rand.Intn(n)這個函數,會發現每次產生的隨機數都是一樣的。比如:i := 0for i<10 { i++ fmt.Println(time.Now(),math.Pi,rand.Intn(3))}這段代碼分別運行兩次,產生的序列是一樣的。為了產生“真正”的隨機數,可以用時間作為基數。用下面的方法。package main import ( "fmt"
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。出現這個問題的原因在於,資料庫欄位資訊有null值比如建表的時候有欄位使用了default null,那麼對該條資料填充內容的時候,如果此欄位沒有值,為空白,那麼讀取表的時候,就會出現(此欄位類型為字串)sql: Scan error on column index 7: unsupported driver -> Scan pair: <nil> -> *string解決辦法很簡單:1
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。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
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。以我自己的項目為例,項目的目錄結構是這樣的:1、我有兩個項目,一個項目做為基礎項目,裡面的方法大都具有通用性。2、還有一個正在開發的項目,這個項目需要調用基礎項目裡的很多函數。現在基礎項目裡有一個包含所有對資料庫進行操作的函數的檔案,名叫servicebase.go,包名:db代碼如下:packaeg dbtypeServiceBasestruct{ DBE
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport ("fmt""html/template""net/http""os")type Person struct {Name stringAge intEmails []stringCompany stringRole string}type OnlineUser struct {User