原创 Golang學習筆記(7)測試與性能調優

第七章 測試與性能調優 測試 傳統測試 vs 表格驅動測試 傳統測試 測試數據和測試邏輯混在一起 出錯信息不明確 一旦一個數據錯誤測試全部結束 表格驅動測試 分離的測試數據和測試邏輯 明確的出錯信息 可以部分失敗 go語言

原创 Golang的一些技巧

1. 利用defer在函數的進入和退出進行操作 下例中的bigSlowOperation函數,直接調用trace記錄函數的被調情況。bigSlowOperation被調時,trace會返回一個函數值,該函數值會在bigSlowO

原创 Golang學習筆記(1)基礎語法

寫在前面的話 18年的時候就想着要學golang, 結果一拖就是1年多, 這19年都已經快過了一半了,想想自己的惰性實在太強,還是得逼自己一把才行,不然20年了估計還是沒戲,所以找了一個切入點,最近在網上找到了一個教學視頻,叫 G

原创 Golang學習筆記(2)內建容器

第二章 內建容器(數組,切片和容器) 數組 var arr1 [5]int arr2 := [3]int{1,3,5} arr3 := [...]int{2,3,4,5,6} // 編譯器識別數組長度 var grid[4][5

原创 Golang學習筆記(8)goroutine 和 channel

第八章 goroutine 和 channel goroutine func main() { for i := 0; i < 1000; i++ { go func(i int) { for { fmt.P

原创 Golang學習筆記(3)面向“對象”

第三章 面向“對象” 面向對象 go語言僅支持封裝, 不支持繼承和多態 go語言沒有class,只有struct 結構的創建 type treeNode struct { value int left, right *t

原创 Golang學習筆記(6)資源管理和錯誤處理

第六章 資源管理和錯誤處理 defer調用 確保調用在函數結束時發生 參數在defer語句時計算 defer列表爲先進後出 func writeFile(filename string) { file, err := os

原创 Golang學習筆記(4)面向接口

第四章 面向接口 接口的定義 接口由使用者定義 type Retiever interface { Get( url string ) string } func download( retriever Retiever

原创 Golang學習筆記(5)函數式編程

第五章 函數式編程 函數與閉包 func adder() func(int) int { sum := 0 return func(v int) int { sum += v return sum } } fun

原创 Google Protocol Buffers淺析(二)

網上的教程還是和實際操作有很多區別,在這裏把遇到的幾個問題分享一下。 1.按照全部步驟完成以後, 如果用Visual Studio 2012編譯,會報一個  error C4996: 'std::_Copy_impl': Funct

原创 Google Protocol Buffers淺析(一)

本文轉自:http://www.cnblogs.com/royenhome 本文主要偏向於介紹怎麼使用Google的Protocol Buffer技術來壓縮與解析你的數據文件,更加詳細的信息請參閱Google開放的開發者網頁文檔,地址

原创 Google Protocol Buffers淺析(三)

本文轉自:http://www.cnblogs.com/royenhome 本文主要會介紹怎麼使用Google Protocol的Lib來序列化我們的數據,方法很多種,本文只介紹其中的三種,其他的方法讀者可以通過自行研究摸索。但總的來