Time of Update: 2017-01-13
安裝前配置還是老樣子,那就是各種支援庫的安裝. Debianapt-get updateapt-get install -y redis-server gitCentOSyum install -y redis-server git安裝GO環境Ubuntu/Debian – 安裝配置Golang
Time of Update: 2017-01-18
本文執行個體講述了go語言的sql包原理與用法。分享給大家供大家參考,具體如下:go的sql包是在pkg/database中,裡面的兩個包sql和sql/driver可以一起看。建議看這個兩個包之前可以先看看sql檔案夾下的doc.txt。這個文檔說了幾點比較重要的:1 這兩個包是真正Go風格的包。2 這使用這兩個包就不需要關於並發處理了,也不需要維護自己的資料庫連接池了,一旦建立了一個串連,這個串連是可以在各個goroutine之間共用的。3
Time of Update: 2017-01-18
前言defer是golang語言中的關鍵字,用於資源的釋放,會在函數返回之前進行調用。一般採用如下模式:f,err := os.Open(filename)if err != nil { panic(err)}defer f.Close()如果有多個defer運算式,調用順序類似於棧,越後面的defer運算式越先被調用。延時調用函數的文法如下:defer func_name(param-list)當一個函數調用前有關鍵字 defer 時, 那麼這個函數的執行會延遲到包含這個 defer
Time of Update: 2017-01-18
structGo語言中,也和C或者其他語言一樣,我們可以聲明新的類型,作為其它類型的屬性或欄位的容器。例如,我們可以建立一個自訂類型person代表一個人的實體。這個實體擁有屬性:姓名和年齡。這樣的類型我們稱之struct。如下代碼所示:複製代碼 代碼如下:type person struct { name string age
Time of Update: 2017-01-18
1.匯入包,一個主函數中只有一個main函數,包含一個main包,主函數中我們要申明main的包!複製代碼 代碼如下:package mainfunc main(){}2.引入包檔案,譬如我們使用的是fmt包,列印helloword用,golang有一個包可見度的定義,就譬如其他語言中的private
Time of Update: 2017-01-18
go語言裡邊的字串處理和PHP還有java 的處理是不一樣的,首先申明字串和修改字串複製代碼 代碼如下:package mainimport "fmt"var name string //申明一個字串var emptyname string = "" //申明一個Null 字元串func main() { //申明多個字串並且賦值 a, b, v :=
Time of Update: 2017-01-18
Usuage: go run kNN.go --file="data.txt"關鍵是向量點的選擇和閾值的判定樣本資料來自國家新聞出版總署發布通知公布的《40部淫穢色情網路小說名單》package main import ( "bufio" "flag" "fmt" "io" "log" "math" "os" "path" "path/filepath") var debug bool = falsevar data_dir string = "./moyan"
Time of Update: 2017-01-18
GO語言編寫的TCP連接埠掃描器,本人的第一個GO程式。Git@OSC:http://git.oschina.net/youshusoft/GoScanner使用命令:Scanner startIp [endIp] port thread參數說明:startIp 開始IPendIp 結束IP,可選,不輸入表示只掃描startIpport 掃描連接埠,單個連接埠:3389;多個連接埠:1433,3389;連續連接埠:135-3389thread
Time of Update: 2017-01-18
hano.go package mainimport ( "bufio" "fmt" "os" "strconv")func main() { fmt.Print("輸入要移動的盤子數:") reader := bufio.NewReader(os.Stdin)lool: data, _, _ := reader.ReadLine() n, err := strconv.Atoi(string(data)) if err != nil { fmt.Println(err)
Time of Update: 2017-01-18
本文執行個體講述了Go語言截取字串函數用法。分享給大家供大家參考。具體如下:複製代碼 代碼如下:func Substr(str string, start, length int) string { rs := []rune(str) rl := len(rs) end := 0 &
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語言實現AzDG可逆密碼編譯演算法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:package mainimport ( "fmt" "crypto/md5" "encoding/base64" "time")var cipher = "密鑰"var h = md5.New()func cipherEncode(sourceText string) string { h.Write([]byte(
Time of Update: 2017-01-18
本文執行個體講述了Go語言實現定時器的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:package mainimport ( "fmt" "time")func testTimer1() { go func() { fmt.Println("test timer1") }()}func testTimer2() { go func() { fmt.Println("test
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語言讀取csv檔案並輸出的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:package mainimport ( "encoding/csv" "fmt" "io" "os")func main() { file, err :=
Time of Update: 2017-01-18
本文執行個體講述了Go語言通過http抓取網頁的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:package mainimport ( "fmt" "log" "net/http" "net/url" "io/ioutil")//指定代理ipfunc getTransportFieldURL(proxy_addr *string) (transport *http.Transport) { url_i := url.
Time of Update: 2017-01-18
本文執行個體講述了go語言通過zlib壓縮資料的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:package mainimport ( "fmt" "compress/zlib" "bytes")func main() { var input =
Time of Update: 2017-01-18
本文執行個體講述了go語言中range用法。分享給大家供大家參考。具體分析如下:range是go語言系統定義的一個函數。函數的含義是在一個數組中遍曆每一個值,返回該值的下標值和此處的實際值。假如說a[0]=10,則遍曆到a[0]的時候傳回值為0,10兩個值。下面是一個例子:這個例子是求一個數組裡面的平均值。複製代碼 代碼如下:package mainimport ( "fmt")func main() { sum := 0.
Time of Update: 2017-01-18
本文執行個體講述了go語言實現sqrt的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:package mymathimport "math"func InvSqrt(x float32) float32 { var xhalf float32 = 0.5*x // get bits for floating VALUE i := math.Float32bits(x) // gives initial
Time of Update: 2017-01-18
本文執行個體講述了Go語言用map實現堆棧功能的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:package stackimport ( "strconv")type Stack struct { quenu map[int]int}func New() *Stack{ s := new(Stack) s.quenu =