Time of Update: 2017-12-23
標籤:命令 arc title hive 需要 方法 int pstree str 轉自:https://www.cnblogs.com/caosiyang/archive/2012/10/15
Time of Update: 2017-12-21
標籤:之間 允許 執行 拋出異常 標識 關於 類方法 變數 不可變 變數和常量
Time of Update: 2017-12-23
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。上一篇文章中我們學會了使用包管理工具,這樣我們就可以很方便的使用包管理工具來管理我們依賴的包。組態工具的選擇但我們又遇到了一個問題,一個項目通常是有很多配置的,比如PHP的php.ini檔案、Nginx的server.conf檔案,那麼Golang的項目又適合使用怎樣的設定檔呢?其實現在我們有很多選擇,比如
Time of Update: 2017-12-23
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。一、介面定義1、定義interface類型可以定義一組方法,但是這些不需要實現,並且interface不能包含任何變數package mainimport ( "fmt")type test interface{ print()}type Student struct{ name string age int score int}func (p *Student)print(){
Time of Update: 2017-12-23
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。go run在《Go並發編程實戰》的第二章中,我介紹了Go源碼檔案的分類。Go源碼檔案包括:命令源碼檔案、庫源碼檔案和測試源碼檔案。其中,命令源碼檔案總應該屬於main程式碼封裝,且在其中有無參數聲明、無結果聲明的main函數。單個命令源碼檔案可以被單獨編譯,也可以被單獨安裝(可能需要設定環境變數GOBIN)。當然,命令源碼檔案也可以被單獨運行。我們想要運行命令源碼檔案就需要使用命令go run。go
Time of Update: 2017-12-23
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。之前寫過一個爬取電影網站的項目,裡面有有電影海報的爬取,今天就把這個爬取的功能提取成為一個小例子拿出來。 package mainimport ("bytes""fmt""io""io/ioutil""net/http""os""regexp")func main() {imagPath :=
Time of Update: 2017-12-22
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。channel作為goroutine間通訊和同步的重要途徑,是Go runtime層實現CSP並行存取模型重要的成員。在不理解底層實現時,經常在使用中對channe相關文法的表現感到疑惑,尤其是select
Time of Update: 2017-12-22
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 配置分兩部分,系統啟動參數使用檔案,業務參數使用NoSQL類的記憶體資料庫,這裡只討論檔案,資料庫留到將來再說; 使用json而不是ini格式的設定檔; 對設定檔的解析不需要考慮內容,只要格式正確即可,需要配置的模組自行擷取需要的欄位。 首先需要擷取設定檔路徑,考慮兩種方式:1.命令列參數提供;2.命令列參數沒有提供時使用預設檔案。 var
Time of Update: 2017-12-22
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 upload.go package mainimport ("crypto/md5""fmt""html/template""io""log""net/http""os""strconv""time")// 處理/upload 邏輯func upload(w
Time of Update: 2017-12-21
這是一個建立於
Time of Update: 2017-12-21
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。只列舉了部分函數方法的使用:太多了。。。。。。。package mainimport ( "fmt" "strings")func main() { Count計算 sep在s中的非重疊個數 func Count(s, substr string) int { s := "Hello,超哥" 統計 l 出現的次數 n := strings.
Time of Update: 2017-12-21
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。本文已經是很久以前的文章了,也不知道新版本thrift如何Thrift是一個跨語言的服務部署架構,Thrift通過一個中繼語言(IDL, 介面定義語言)來定義RPC的介面和資料類型,然後通過一個編譯器產生不同語言的代碼(目前支援C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa,
Time of Update: 2017-12-21
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。```package mainimport ("fmt""reflect")type tabler interface {TableName() string}type model struct{}func (m model) TableName() string {return "table_name"}func main() {var mod modelgetTableName(
Time of Update: 2017-12-21
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。``` gofunc SliceColumn(structSlice []interface{}, key string) []interface{} {rt := reflect.TypeOf(structSlice)rv := reflect.ValueOf(structSlice)if rt.Kind() == reflect.Slice { //切片類型var sliceColumn []interface{}elemt
Time of Update: 2017-12-21
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。上一篇部落格總結了Go調度器的設計以及go調度器解決如何解決了使用者態線程典型問題,這一篇就跟蹤下Goroutine的源碼實現。Go1.5源碼剖析
Time of Update: 2017-12-20
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。使用 Golang 將產生的 md5 轉化為 string 的過程出現如下編譯錯誤:錯誤解析: 值得注意的一點是 func Sum(data []byte) [Size]byte 這個函數返回的結果是數組(array)而不是切片(slice)。 用下面的例子說明,編譯錯誤的那行是因為 [3]int{1,2,3} 沒有賦值給任何變數的時候,編譯器是不知道它的地址的,因此編譯到 [:]
Time of Update: 2017-12-20
這是一個建立於
Time of Update: 2017-12-20
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。github: https://github.com/golang/lintgolint是類似javascript中的jslint的工具,主要功能就是檢測代碼中不規範的地方。golint用於檢測go代碼。使用$ go get github.com/golang/lint$ go install github.com/golang/lintgolint
Time of Update: 2017-12-20
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。package mainimport "fmt"func reverse(str string) string { var result string strLen := len(str) for i := 0; i < strLen; i++ { result = result + fmt.Sprintf("%c", str[strLen-i-1]) }
Time of Update: 2017-12-19
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。Go裡面需要顯示的引入C模組, 讓編譯器支援產生動態連結程式庫, 並且在代碼中可以使用C語言的資料類型,這個至關重要. Calling Go code from Python code 摘取一個最簡單例子//libadd.gopackage mainimport "C"//export addfunc add(left, right int) int { return left + right}func