Time of Update: 2018-01-08
標籤:capacity 長度 value cap roo fine garbage 錯誤資訊 定義變數 這章主要描述如何定義變數、常量、go內建類型及go程式設計中的一些技巧定義變數go中定義變
Time of Update: 2017-12-21
標籤:之間 允許 執行 拋出異常 標識 關於 類方法 變數 不可變 變數和常量
Time of Update: 2018-01-07
標籤:stat 對象 bsp over cto 來源 引用 style fun 1:方法重寫:就是在基類中的方法用virtual關鍵字來標識,然後在繼承類中對該類進行重寫
Time of Update: 2018-01-07
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。使用os包,os.stat返回err==nil,說明存在;os.IsNotExist(err)為true,說明不存在;否則不確定是否存在func DelJar(fileName string) error{ //err := os.Remove(fileName) //if err != nil { // logs.Error("刪除檔案[%v]失敗!%v", fileName, err)
Time of Update: 2017-12-19
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。在Go語言世界中,beego orm、gorm、sqlx、gorp、xorm是我已知在Github中stars數最多Go資料庫架構,這幾個都是Go語言世界中老牌資料庫架構庫。 其中beego orm是beego內建的orm架構庫,統計star數的時候是按beego的star數統計的(beego之前還有一個資料庫架構beedb,由於謝大在2014年就未在維護此庫,所以沒有出現在我的統計列表中)。
Time of Update: 2018-01-06
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。網上看了好多資料發現都很過時了,基本都是用的https://github.com/gomini/go-mips32編譯的。但是go1.9早就支援mips了,設定好編譯參數,開始build,這時在go/pkg下會出現linux_mips目錄,就是編譯環境,其他的一樣。GOOS是你的應用程式將要運行平台的作業系統GOARCH是你的應用程式將要運行平台的處理器架構。有效$GOOS和$GOARCH組合如下: $GOOS
Time of Update: 2018-01-05
這是一個建立於
Time of Update: 2017-12-19
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。在比較C++和Go的時候,通常會說到Go不支援繼承和多態,但通過組合和介面實現了類似的語言特性。總結一下Go不支援的原因:(1)
Time of Update: 2017-12-19
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。對比C++,Go不支援重載和預設參數,支援不定長變參,多傳回值,匿名函數和閉包。C入棧順序和傳回值之前有個疑問,為什麼Go支援多傳回值,而C不行呢。首先回顧一下C函數調用時的棧空間 程式員的自我修養Ch10-2。函數調用時首先參數和返回地址入棧,其次入棧old
Time of Update: 2018-01-01
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。1.切片:切片是數組的一個引用,因此切片是參考型別2.切片的長度可以改變,因此,切片是個可變的數組。3.切片遍曆方式和數組一樣,可以用len()求長度4.cap可以求出slice最大的容量,0<=cap(slice) <=len(array),其中array是slice引用的數組5.切片的定義:var 變數名 [ ]類型,例如:var str []string ,var arr [] intpackage
Time of Update: 2017-12-28
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。golang struct to json html without escape default state when struct value is html code output to json will covert to unicode package mainimport ( "encoding/json" "fmt" "os")func
Time of Update: 2017-12-28
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。最近組裡新項目要求用go來寫,沒辦法只能邊看文檔邊寫代碼,今天遇到鬱悶的問題,查了好久最終發現居然是一個標點符號的導致的,遂紀錄之剛剛給一個介面寫單元測試時想初始化一個結構體數組,然後遍曆該數組並建立http.Request進行測試,結果一直報錯,最後。。。才發現golang結構體初始化的正確姿勢T_T 1 requests := []AuthRequest{ 2 AuthRequest{ 3
Time of Update: 2017-12-26
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。三色標記三色標記的原理如下:整個進程空間裡申請每個對象佔據的記憶體可以視為一個圖, 初始狀態下每個記憶體對象都是白色標記,先stop the world,將掃描任務作為多個並發的goroutine立即入隊給調度器,進而被CPU處理,第一輪先掃描所有可達的記憶體對象,標記為灰色放入隊列;第二輪可以恢複start the
Time of Update: 2017-12-26
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。select文法總結 select對應的每個case如果有已經準備好的case 則進行chan讀寫操作;若沒有則執行defualt語句;若都沒有則阻塞當前goroutine,直到某個chan準備好可讀或可寫,完成對應的case後退出。Select的記憶體布局瞭解chanel的實現後對select的文法有個疑問,select如何?多工,為什麼沒有在第一個channel操作時阻塞
Time of Update: 2018-01-09
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。 What you are wasting today is tomorrow for those who died yesterday; what you hate now is the future you can not go back. 你所浪費的今天是昨天死去的人奢望的明天; 你所厭惡的現在是未來的你回不去的曾經。
Time of Update: 2018-01-08
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。在Go指南中,最後一節的練習是一個WEB爬蟲。剛開始看目錄以為真的是要寫一個爬蟲,直到仔細閱讀了代碼才發現,只是讓利用channel和mutex類比一個爬蟲的代碼。 初始狀態如下 package mainimport ("fmt")type Fetcher interface {// Fetch 返回 URL 的 body 內容,並且將在這個頁面上找到的 URL 放到一個 slice 中。Fetch(url
Time of Update: 2018-01-08
這是一個建立於
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
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。上一篇部落格總結了Go調度器的設計以及go調度器解決如何解決了使用者態線程典型問題,這一篇就跟蹤下Goroutine的源碼實現。Go1.5源碼剖析
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