Time of Update: 2017-01-18
本文執行個體講述了go語言通過odbc操作Access資料庫的方法。分享給大家供大家參考。具體如下:這裡需要用到go-odbc庫,下載地址為:https://github.com/weigj/go-odbc複製代碼 代碼如下:package main;import ( "fmt" "database/sql" _"odbc/driver")func main(){ conn,err :=
Time of Update: 2017-01-18
本文執行個體匯總了Go語言常用字串處理方法。分享給大家供大家參考。具體如下:複製代碼 代碼如下:package mainimport ( "fmt" "strings" //"unicode/utf8")func main() { fmt.Println("尋找子串是否在指定的字串中") fmt.Println("
Time of Update: 2017-01-18
本文執行個體講述了Go語言對字串進行SHA1雜湊運算的方法。分享給大家供大家參考。具體如下:複製代碼 代碼如下:package mainimport ( "fmt" "crypto/md5" "crypto/sha1" "io")//對字串進行MD5雜湊func a(data string) string { t := md5.New(); io.WriteString(t,data); return fmt.Sprintf(
Time of Update: 2017-01-18
本文執行個體講述了Go語言MD5加密用法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:import ( "crypto/md5" "encoding/hex")func main() { h := md5.New() h.Write([]byte("sharejs.com")) // 需要加密的字串為 sharejs.com &
Time of Update: 2017-01-18
本文執行個體講述了Go語言通過Luhn演算法驗證信用卡卡號是否有效方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:package mainimport ( "fmt" "strings")const input = `499273987164992739871712345678123456781234567812345670`var t = [...]int{0, 2, 4, 6, 8, 1, 3, 5,
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語言睡眠排序演算法。分享給大家供大家參考。具體分析如下:睡眠排序演算法是一個天才程式員發明的,想法很簡單,就是針對數組裡的不同的數開多個線程,每個線程根據數的大小睡眠,自然睡的時間越長的,數越大,哈哈,搞笑吧,這種演算法看起來很荒唐,但實際上很天才,它可以充分利用多核cpu進行計算。複製代碼 代碼如下:package mainimport ( "fmt" "time")func main()
Time of Update: 2017-01-18
本文執行個體講述了Go語言產生素數的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:package main// 產生2, 3, 4, ... 到 channel 'ch'中.func Generate(ch chan<- int) { for i := 2; ; i++ { ch <- i // Send 'i' to
Time of Update: 2017-01-18
本文執行個體講述了go語言異常panic和恢複recover用法。分享給大家供大家參考。具體分析如下:go中可以拋出一個panic的異常,然後在defer中通過recover捕獲這個異常,然後正常處理在一個主進程,多個go程處理邏輯的結構中,這個很重要,如果不用recover捕獲panic異常,會導致整個進程出錯中斷複製代碼 代碼如下:package mainimport "fmt"func main() {defer func() {
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語言實現簡單TCP服務的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:package mainimport ("net""fmt")var ( maxRead = 1100 msgStop = []byte("cmdStop") msgStart =
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語言base64加密解密的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:package mainimport ( "encoding/base64" "fmt")const ( base64Table = "123QRSTUabcdVWXYZHijKLAWDCABDstEFGuvwxyzGHIJklmnopqr234560178912")var
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 =
Time of Update: 2017-01-18
本文執行個體講述了go語言實現AES加密的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:package mainimport ("fmt""crypto/aes""strings")func main(){rb:=[]byte {1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6};b:=make([]byte,16);strings.NewReader("1234567890123456").Read(b);// b=b[0:16];fmt.Print("b:"
Time of Update: 2017-01-18
本文執行個體講述了linux下通過go語言獲得系統進程cpu使用方式的方法。分享給大家供大家參考。具體分析如下:這段代碼通過linux的系統命令 ps來分析cpu的使用方式,代碼如下:複製代碼 代碼如下:package mainimport ( "bytes" "log" "os/exec" "strconv"
Time of Update: 2017-01-18
本文執行個體講述了Go語言擷取本機邏輯CPU數量的方法。分享給大家供大家參考。具體分析如下:一般來說,通過runtime庫的NumCPU可以獲得本機邏輯CPU的數量,不是物理CPU,比如一個雙核CPU,帶有超執行緒技術,則會被認為是4個邏輯CPU複製代碼 代碼如下:package mainimport ( "runtime" "fmt")func main(){
Time of Update: 2017-01-18
本文執行個體講述了Go語言掃描目錄並擷取相關資訊的方法。分享給大家供大家參考。具體分析如下:前言:最近看到Go裡面有一個func很容易就可以掃描整個目錄,並且可以得到相應的目錄和檔案資訊,所以我將其進行了封裝,拿到file info的所有資訊 這樣就可以方便的做其它用途了。直接上代碼,代碼基於Go version 1複製代碼 代碼如下:package mainimport ( "path/filepath"
Time of Update: 2017-01-18
本文執行個體講述了Go語言RPC Authorization進行簡單ip安全驗證的方法。分享給大家供大家參考。具體分析如下:前言:寫網路服務,總要考慮安全機制,對ip和網段進行判斷是最簡單的一個驗證機制。之後想做一個類似註冊式的安全驗證機制,既可以減少設定檔的麻煩,又可以很好的進行安全管理。直接上代碼:複製代碼 代碼如下:package mainimport( "net" "fmt"