Time of Update: 2017-01-18
原理:將資料的二進位形式寫入映像紅色通道資料二進位的低位只支援png格式的輸出寫入資料go run shadow.go -in="c.jpg" -data="hide me" -out="out.png"讀取資料go run shadow.go -in="out.png"複製代碼 代碼如下:package mainimport ( "errors" "flag"
Time of Update: 2017-01-18
功能很簡單,代碼也很簡潔,這裡就不多廢話了。複製代碼 代碼如下:package mainimport ( "fmt" "io" "net/http" "os")const ( upload_path string = "./upload/")func helloHandle(w http.ResponseWriter,
Time of Update: 2017-01-18
用python遍曆檔案夾很方便,在go的世界裡,我也需要這樣的功能。找了找文檔,裡面有這個功能(具體參考這裡:http://golang.org/pkg/path/filepath/ )……好,不廢話了,我也想早點睡,直接上代碼。代碼如下: 複製代碼 代碼如下:/*File : getFilelist.goAuthor : MikeE-Mail :
Time of Update: 2017-01-18
本文執行個體講述了go語言擷取系統硬碟符的方法。分享給大家供大家參考。具體如下:涉及golang調用winapi擷取系統硬碟符的技巧。代碼如下:複製代碼 代碼如下:// cs project main.gopackage mainimport ( "fmt" . "strconv" "syscall")func GetLogicalDrives() []string { kernel32 :=
Time of Update: 2017-01-18
本文執行個體講述了go語言使用scp的方法。分享給大家供大家參考。具體如下:複製代碼 代碼如下:package mainimport ( "code.google.com/p/go.crypto/ssh" "crypto" "crypto/rsa" "crypto/x509" "encoding/pem" &
Time of Update: 2017-01-18
本文執行個體講述了go語言實現的memcache協議服務的方法。分享給大家供大家參考。具體如下:完整執行個體代碼點擊此處本站下載。1. Go語言代碼如下:複製代碼 代碼如下:package memcachepimport ( "bufio" "fmt" "io" "strconv"
Time of Update: 2017-01-18
linux下,google的go語言安裝起來很方便,用起來也很爽,幾行代碼就可以實現很強大的功能。現在的問題是我想在windows下玩……其實windows下也不麻煩,具體見下文。一、安裝go語言:1、安裝MinGW(https://bitbucket.org/jpoirier/go_mingw/downloads)2、下載源碼 進入C:\MinGW,雙擊mintty開啟終端視窗; 執行"hg clone -u release https://go.googlecode.com/hg/
Time of Update: 2017-01-18
本文執行個體講述了go語言通過管道串連兩個命令列進程的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:package mainimport ( "os" "os/exec" "fmt" "flag" "strings")func main() {generator := exec.Command("cmd1")consumer := exec.Command("cmd2")pipe, err :=
Time of Update: 2017-01-18
本文執行個體講述了go語言實現一個簡單的http用戶端抓取遠程url的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:package mainimport ( "fmt" "log" "net/http" "net/url" "io/ioutil")func main() {resp, err := http.Get("http://www.google.co.jp")defer resp.Body.Close()body,
Time of Update: 2017-01-18
本文執行個體講述了go語言在請求http時加入自訂http header的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:client := &http.Client{]req, err := http.NewRequest("POST", "http://example.com", bytes.NewReader(postData))req.Header.Add("User-Agent", "myClient")resp, err :=
Time of Update: 2017-01-18
本文執行個體講述了go語言簡單的處理http請求的函數。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:func someHandler(w http.ResponseWriter, r *http.Request) { // read form value value := r.FormValue("value") if r.Method == "POST" { &
Time of Update: 2017-01-18
本文執行個體講述了Go語言實現順序儲存的線性表的方法。分享給大家供大家參考。具體如下:代碼如下:複製代碼 代碼如下://///////// 順序儲存線性表////////package mainimport "fmt"const MAXSIZE = 20 //定義數組長度//定義線性表結構type List struct { Element [MAXSIZE]int //儲存線性表元素的數組 length
Time of Update: 2017-01-18
本文執行個體講述了Go語言單鏈表實現方法。分享給大家供大家參考。具體如下:1. singlechain.go代碼如下:複製代碼 代碼如下:////////////單鏈表 -- 線性表package singlechain//定義節點type Node struct { Data int Next *Node}/** 返回第一個節點* h 頭結點 */func GetFirst(h *Node) *Node
Time of Update: 2017-01-18
本文執行個體講述了go語言實現順序儲存的棧。分享給大家供大家參考。具體如下:1. sequence.go代碼如下:複製代碼 代碼如下:////////// 順序儲存的棧////////package sequenceconst MAXSIZE = 20type Stack struct { Data [MAXSIZE]int //儲存棧元素 Top
Time of Update: 2017-01-18
本文執行個體總結了go語言中使用timer的常用方式。分享給大家供大家參考。具體分析如下:下面三段代碼(A,b,C)的功能都是在5分鐘後執行指定的函數的go語言代碼:複製代碼 代碼如下:// (A)time.AfterFunc(5 * time.Minute, func() { fmt.Printf("expired")}// (B) create a Timer objecttimer := time.NewTimer(5 *
Time of Update: 2017-01-18
本文執行個體講述了go語言通過反射擷取和設定結構體欄位值的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:type MyStruct struct { N int}n := MyStruct{ 1 }// getimmutable := reflect.ValueOf(n)val := immutable.FieldByName("N").Int()fmt.Printf("N=%d\n",
Time of Update: 2017-01-18
本文執行個體講述了go語言偵測檔案是否存在的方法。分享給大家供大家參考。具體分析如下:go語言偵測檔案是否存在,首先建立一個FileInfo,如果不報錯,再通過 IsDir()檢查是否是目錄複製代碼 代碼如下:finfo, err := os.Stat("filename.txt")if err != nil { // no such file or dir return}if finfo.IsDir()
Time of Update: 2017-01-18
本文執行個體講述了go語言執行windows下命令列的方法。分享給大家供大家參考。具體如下:在golang裡執行windows下的命令列,例如在golang裡面調用 del d:\a.txt 命令複製代碼 代碼如下:package mainimport( "fmt" "os/exec")func main(){ c := exec.Command("cmd", "
Time of Update: 2017-01-18
本文執行個體講述了go語言日誌記錄庫簡單使用方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:package mainimport ( "fmt" "log" "os")func main(){ logfile,err := os.OpenFile("/var/golang/jb51.net.log",os.O_RDWR|os.O_CREATE,0); if err!=nil
Time of Update: 2017-01-18
本文執行個體講述了go語言對檔案按照指定塊大小進行分割的方法。分享給大家供大家參考。具體如下:複製代碼 代碼如下:import ( // "bufio" "flag" "fmt" "io" "os")import "strconv"var infile *string = flag.String("f", "Null", "please input a file name or dir.")var size *string =