原创 Go 學習筆記(39)— Go 反射

Go 學習筆記(39)— Go 反射 本文參考 http://c.biancheng.net/golang/reflect/ 反射是把雙刃劍,功能強大但代碼可讀性並不理想,若非必要並不推薦使用反射。 1. 反射概念 反射是指在

原创 Go 標準庫之 flag(命令行參數解析)

1. 參數解析說明 import "flag" flag 包實現了命令行參數的解析。每個參數認爲一條記錄,根據實際進行定義,到一個 set 集合。每條都有各自的狀態參數。 使用 flag 的正常流程爲: 通過 flag.Str

原创 Go 標準庫之 os/user(獲取Uid、Gid、Username、Name、HomeDir、查詢用戶、查詢用戶組)

1. 引用說明 import "os/user" user 包允許通過名稱或 ID 查詢用戶帳戶。 type User struct { Uid string // 用戶ID Gid stri

原创 Numpy 對象和字符串相互轉換

在實際工作中有個需求是需要將 Numpy 的二進制對象轉換爲字符串,經過某種處理之後,再將字符串還原爲 Numpy 對象,這就需要用到 Numpy 自帶的 tostring 和 fromstring 方法。在此記錄下其使用方法。

原创 Go 學習推薦資料 —(Go by example 中文版、Go 構建 Web 應用、Go 學習筆記、Golang開發新手常犯的50個錯誤、Go 語言四十二章經、Go 語言高級編程)

Go by example 中文版 Go 構建 Web 應用 Go 學習筆記:無痕 Go 標準庫中文文檔 Golang開發新手常犯的50個錯誤 50 Shades of Go: Traps, Gotchas, and Commo

原创 Go 學習筆記(38)— 自定義包結構(子目錄與父目錄關係、目錄中的包名、未定義的包引用、沒有main包執行報錯、main包不能被引用)

1. 包結構概述 在 Go 語言裏,允許我們將同一個包的代碼分隔成多個獨立的源碼文件來單獨保存,只需要將這些文件放在同一個目錄下即可。 我們創建的自定義的包需要將其放在 GOPATH 的 src 目錄下(也可以是 src 目

原创 Go 學習筆記(36)— 基於Go方法的面向對象(封裝、繼承、多態)

1. 封裝 package main import "fmt" type data struct { val int } func (p_data *data) set(num int) { p_data.val = n

原创 Go 學習筆記(37)— 標準命令(go build、go clean、go run、go fmt、go install、go get)

1. 標準命令簡述 Go 本身包含來大量用於處理 Go 程序的命令和工具。 命令 作用 build 用於編譯指定的代碼包或 Go 語言源碼文件。命令源碼文件會被編譯成可執行文件,並存放到命令執行的目錄或指定目錄下

原创 Go 語言 time.Parse 報錯:month out of range

1. 問題現象 在使用 Go 語言的 time.Parse 解析時間時遇到以下錯誤: func main() { timeParse, err := time.Parse("2006-11-02 15:04:05", "2

原创 Go 學習筆記(35)— Go 接口 interface (接口聲明、接口初始化、接口方法調用、接口運算、類型斷言、類型查詢、空接口)

1. 接口概念 接口是雙方約定的一種合作協議。接口實現者不需要關心接口會被怎樣使用,調用者也不需要關心接口的實現細節。接口是一種類型,也是一種抽象結構,不會暴露所含數據的格式、類型及結構。 接口內部存放的具體類型變量被稱爲接口指向

原创 Go 學習筆記(34)— Go 方法聲明、方法調用、方法值、方法表達式、切片對象方法、指針對象方法

1. 方法聲明 Go 語言的類型方法是一種對類型行爲的封裝。 Go 語言的方法非常純粹, 可以看作特殊類型的函數, 其顯式地將對象實例或指針作爲函數的第一個參數, 並且參數名可以自己指定, 而不強制要求一定是 this 或

原创 Go 學習筆記(33)— Go 自定義類型 type(自定義結構體、結構體初始化、自定義接口)

1. 自定義類型格式 用戶自定義類型使用關鍵字 type ,其語法格式是: type newType oldType oldType 可以是自定義類型、預聲明類型、未命名類型中的任意一種。 newType 是新類型的標識符,與

原创 Go 學習筆記(32)— 類型系統(命名類型、未命名類型、底層類型、類型強制轉換)

1. 命名類型和未命名類型 1.1 命名類型 類型可以通過標識符來表示,這種類型稱爲命名類型( Named Type )。 Go 語言的基本類型中有 20 個預聲 明簡單類型都是命名類型, Go 語言還有一種命名類型一一用戶自

原创 Go 學習筆記(31)— 字符串 string、字符 rune、字節 byte、UTF-8 和 Unicode 區別以及獲取字符串長度

1. 字符串 string 類型 Go 語言中字符串的內部實現使用 UTF-8 編碼,通過 rune 類型,可以方便地對每個 UTF-8 字符進行訪問。當然, Go 語言也支持按照傳統的 ASCII 碼方式逐字符進行訪問。

原创 golang log4go 使用說明及丟失日誌原因

1. 描述 這個 repository 是從 alecthomas 的 log4go 重構而來的,log4go 是一個類似於用於 Java 編程語言的 log4j 的日誌包。源於 Google 的一項 log 工程,官方已經停止維