Time of Update: 2016-04-30
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport "bytes"import "fmt"import "regexp"func main() {//這個測試一個字串是否符合一個運算式。 match, _ := regexp.MatchString("p([a-z]+)ch", "peach")
Time of Update: 2016-04-29
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。如 XML:<result> <item value="1" flag="false" /> <item value="2" flag="true" /> <item value="3" /></result>解析後獲得的 item 3的 flag 預設值為false,
Time of Update: 2016-04-29
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1、建立無緩衝var chs1 = make(chan int)var chs2 = make(chan float64)var chs3 = make(chan string)有緩衝var chs1 = make(chan int, 3)var chs2 = make(chan float64, 3)var chs3 = make(chan string,
Time of Update: 2016-04-29
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。今天想用xorm串連資料庫做一個項目,發現xorm的結構體和資料庫表的映射關係的建立是通過struct Tag來實現的。所以有必要瞭解下Tag的文法和作用。看代碼秒懂: 1 package main 2 import ( 3 "fmt" 4 "reflect" // 這裡引入reflect模組 5 ) 6 type User struct { 7 Name string
Time of Update: 2016-04-29
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport ("crypto/rand""crypto/rsa""crypto/x509""encoding/pem""os")func main() {//rsa 密鑰檔案產生GenRsaKey(1024)}//RSA公開金鑰私密金鑰產生func GenRsaKey(bits int) error {//
Time of Update: 2016-04-29
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。今天看beego的原始碼的時候看到這麼一段codefunc ParseBool(val interface{}) (value bool, err error) {if val != nil {switch v := val.(type) {case bool:return v, nilcase string:switch v {case "1", "t", "T",
Time of Update: 2016-04-29
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go中的array、slice和maparray 數組的定義var arr [10]int // 定義數組arr,預設初始值均為0arr[0] = 1 // 改變數組第一個元素的值為1arr := [3]int{1, 2, 3} arr := [...]int{1, 2, 3} // 注意..., 表示由編譯器自己統計數組的大小/* 多維陣列 */arr := [3][2]int{{1,2},{2
Time of Update: 2016-04-29
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。深度複製可以基於reflect包的反射機制完成, 但是全部重頭手寫的話會很繁瑣.最簡單的方式是基於序列化和還原序列化來實現對象的深度複製:func deepCopy(dst, src interface{}) error { var buf bytes.Buffer if err := gob.NewEncoder(&buf).Encode(src); err != nil { return
Time of Update: 2016-04-29
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Golang初級系列教程-控制結構-defer語句defer 語句是用來在函數返回之前執行特定功能的關鍵字。有啥用處呢?在編程時,通常需要 allocate/block/lock 資源,但是當程式崩潰時,代碼無法執行到 un-allocate/unblock/unlock 資源的地方,可能導致死結等問題得發生。通過使用 defer
Time of Update: 2016-04-29
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。pre-declared type (預宣告類型)golang 預設的有幾個預宣告類型:boole,num,string type. 這些預宣告類型被用來構造其他的類型。type literal(字面量類型)由其他預宣告類型組合而成(沒有使用type 關鍵字定義),array,struct,pointer,slice,map,channel,function,interface[2]int ,[ ] int , chan int
Time of Update: 2016-04-29
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go語言的基礎資料型別 (Elementary Data Type)與運算式基礎資料型別 (Elementary Data Type)go的資料類型可歸納如下:基本類型 整型: int、 int8、 int16、 int32、 int64bool: true、 false浮點數: float32、 float64複數: complex64、 complex128錯誤(error)構造類型 資料類型([])結構體類型(struct)
Time of Update: 2016-04-29
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。以下針對go1.5gc方法參考官方文章:https://blog.golang.org/go15gc,go的gc看起來類似於寬度優先搜尋演算法。 1. 將heap看作是一個圖,其內部儲存的變數之間有指標相互聯絡。所有變數最初都被著色為白色 2. 遍曆heap,選擇root節點,將它們標記為灰色 3.
Time of Update: 2016-04-29
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。(遷移至部落格園) 之前開發golang一直在windows下,今天在linux下試了一下 ,遇到一些梗,比如go 找不到 sync包。花了一小時全部解決,把過程記錄一下。安裝 go我的系統是ubuntu ,完全可以用apt-get 安裝,簡單方便,但這樣安裝之後就出現了上面提到的找不到sync包的問題。後來卸載了已經安裝的go,選擇從官網下載安裝包。 下載地址 選擇合適的安裝包,我選擇的是go1.6.1.linux-amd64
Time of Update: 2016-04-29
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。sqltest_go注意點:1.要引入兩個包import{_"github.com/go-sql-driver";"database/sql"},其中第一個包前面要加上“_”,只需要其中的init函數2.在對資料庫資料進行操作時db,_ := sql.Open("mysql",addr)res := db.Query("select * from user where
Time of Update: 2016-04-29
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。同一個包的不同部分是可以放在同一個檔案夾下的多個檔案中的。package mainimport "fmt"/* // 這裡放在同一檔案中沒有任何的問題type rect struct{ width, height int }func (r *rect) area() int { return r.width * r.height}func (r *rect) perim() int {
Time of Update: 2016-04-29
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。通過go擷取exe、dll、apk版本號碼,支援誇平台,可交叉編譯。換了個帳號,審核下。我把另一個帳號的文章都會刪掉。</pre><pre name="code" class="plain">// golang 實現讀取exe dll apk 版本號碼package mainimport ( "flag" "fmt" "
Time of Update: 2016-04-29
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。mac下配置gdb調試golang原文連結https://sourceware.org/gdb/wiki/BuildingOnDarwinBuilding GDB for DarwinCreating the binary for Darwin isn't very difficult. Download a release snapshot or get the current source via
Time of Update: 2016-04-29
標籤:純粹業餘興趣翻譯,能力有限水平業餘,歡迎拍磚。 文中還有一些句子沒作翻譯,是因為我完全沒弄懂:-) 問題較多, 分part翻譯,本文為第一part。 原文: Frequently Asked Questions (FAQ)起源What is the purpose of the project?非系統底層語言的出現已經有十多年的時間, 而在這期間計算環境已經發生了巨大變化。以下是幾大發展趨勢: - 電腦運算速度有極大提升, 但是軟體開發效率沒有明顯提高。 -
Time of Update: 2016-04-29
標籤:http://blog.csdn.net/yzj19870824/article/details/6933737 在QT 的Makefile檔案中:1 添加動態庫,如lipcap.so則,在LIBS一行中添加“-L/usr/local/lib -lpcap”,依據自己的情況修改libpcap.so的路徑 2
Time of Update: 2016-04-29
標籤:http://blog.hehehehehe.cn/a/8750.htm 建立DLL時其工程使用lib模板[喝小酒的網摘]http://blog.hehehehehe.cn/a/8750.htm引用TEMPLATE=lib而源檔案則和使用普通的源檔案一樣,注意把標頭檔和源檔案分開,因為在其它程式使用此DLL時需要此標頭檔在使用此DLL時,則在此工程源檔案中引入DLL標頭檔,並在.pro檔案中加入下面配置項:引用LIBS += -Lyourdlllibpath