Time of Update: 2017-01-18
今天我們講解的是golang標準庫裡邊的io/ioutil包–也就是package io/ioutil1.ioutil.ReadDir(dirname string)這個函數的原型是這樣的 func ReadDir(dirname string) ([]os.FileInfo, error)不難看出輸入的是dirname類型是string類型的 譬如”d:/go”,然會是一個FileInfo的切片,其中FileInfo的結構是這樣的複製代碼 代碼如下: type FileInfo
Time of Update: 2017-01-18
想用go做一個統計svn代碼提交的工具,類似statsvn。今天進展到了用go解析svn log產生的xml格式的檔案,在go doc上找了一個Example,已經包括了一些比較典型的解析案例,但是在照葫蘆畫瓢的時候還是遇到了問題,有個paths下有多個path,每個path都有自己的屬性和值,想同時渠道屬性和值,真是費了好大的勁。先上個svn xml 格式 log 的demo。Example<?xml
Time of Update: 2017-01-18
1、map資料類型初始化兩種方式:map[string]string{}或make(map[string]string)2、未初始化的map是nil,它與一個空map基本等價,只是nil的map不允許往裡面添加值。(A nil map is equivalent to an empty map except that no elements may be added)因此,map是nil時,取值是不會報錯的(取不到而已),但增加值會報錯。其實,還有一個區別,delete一個nil
Time of Update: 2017-01-18
項目目錄結構如何組織,一般語言都是沒有規定。但Go語言這方面做了規定,這樣可以保持一致性。1、一般的,一個Go項目在GOPATH下,會有如下三個目錄:複製代碼 代碼如下:|--bin|--pkg|--src其中,bin存放編譯後的可執行檔;pkg存放編譯後的包檔案;src存放項目源檔案。一般,bin和pkg目錄可以不建立,go命令會自動建立(如 go
Time of Update: 2017-01-18
很多情況下,我們需要脫除一個字串中可能會存在的引號,然後在加上自己的引 號使其中的特殊字元(命令串連符& 、| 、&&、||,命令列參數界定符Space 、tab 、 ; 、= ,字元化轉義符^ 、" ,變數化轉義符% 等)字元化,失去特定的作用,而作為 普通的字元成為字串的一個組成部分。 一、將字串中的引號脫去的簡單辦法有三種,它們的功能相近,只是各自的使用 場合不同,可以處理大多數的情況。 1-1 、如果字串存在於命令列參數%1中,可以使用%~1 脫去第一對外側引號,如
Time of Update: 2017-01-18
實現手機電話狀態的監聽,主要依靠兩個類:TelephoneManger和PhoneStateListener。 TelephonseManger提供了取得手機基本服務的資訊的一種方式。因此應用程式可以使用TelephonyManager來探測手機基本服務的情況。應用程式可以註冊listener來監聽電話狀態的改變。我們不能對TelephonyManager進行執行個體化,只能通過擷取服務的形式:
Time of Update: 2017-01-18
Go語言是Google2009發布的第二款開源程式設計語言。Go語言專門針對 多處理器系統應用程式的編程進行了最佳化,使用Go編譯的程式可以媲美C或C++代碼的速度,而且更加安全、支援並行進程。還是我自己的電腦,我自己安裝的是ubuntu 12.04版本的,直接介紹安裝吧!其實搭建環境很簡單!複製代碼 代碼如下:sudo apt-get install python-setuptools python-dev build-essential //安裝mercurial依賴sudo
Time of Update: 2017-01-18
本文執行個體分析了GO語io包的常用介面。分享給大家供大家參考。具體分析如下:我沒有 C/C++ 基礎,沒有介面的概念,且從 Python 投奔而來,Python 的極簡主義(一個結果往往只提供一個方法),讓我在 Golang 中非常迷糊,特別是檔案的讀寫操作,因為 Go 的檔案讀寫操作有很多的方法,讓我不知道怎麼選擇。直到我學習了 interface 的概念,然後由看了 package io 後才慢慢理解,也漸漸的喜歡上了 Golang
Time of Update: 2017-01-18
如題,關鍵不是圖怎麼樣,而是說,go可以拿來實現動態圖驗證碼,加上go支援cgi、fcgi,完全可以做個exe拿去增補現有的伺服器麼。ball.gopackage mainimport ( "github.com/hydra13142/cube" "github.com/hydra13142/geom" "github.com/hydra13142/paint" "image" "image/color/palette" "image/gif" "math" "os")var (
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
因為平時管理的web伺服器都是VM伺服器,為節省硬碟空間,一般給虛擬機器分配的硬碟空間都比較小,只有8G,因為,儲存不了多少日誌,所以每天都需要把每台WEB日誌轉移到一個硬碟比較大的伺服器上,然後再使用NBU集中備份,本程式主要使用go語言實現實現將web日誌通過FTP自動上傳FTP伺服器,使用了filepath.Walk遍曆日誌目錄及第三方純go庫“github.com/jlaffaye/ftp”,而日誌VM本機存放區路徑格式是
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
功能很簡單,代碼也很簡潔,這裡就不多廢話了。複製代碼 代碼如下:package mainimport ( "fmt" "io" "net/http" "os")const ( upload_path string = "./upload/")func helloHandle(w http.ResponseWriter,
Time of Update: 2017-01-18
本文執行個體講述了Go語言圖片處理和產生縮圖的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:package mainimport ( "fmt" "os" "image" "image/color" "image/draw" "image/jpeg")func
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語言通過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語言通過zlib壓縮資料的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:package mainimport ( "fmt" "compress/zlib" "bytes")func main() { var input =
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語言Defer用法。分享給大家供大家參考。具體分析如下:defer:調用一個被 defer 的函數時在函數剛要返回之前順延強制,當函數無論怎樣返回,某資源必須釋放時,可用這種與眾不同、但有效處理方式。傳統的例子包括解鎖互斥或關閉檔案。這樣延遲一個函數有雙重優勢:一是你永遠不會忘記關閉檔案,此錯誤在你事後編輯函數添加一個返迴路徑時常常發生。二是關閉和開啟靠在一起,比放在函數尾要清晰很多。複製代碼 代碼如下:/** * Created with IntelliJ