golang 代碼不須要分號
;
可是又會本身在底層增長;
號 ,因此 golang的{
左花括號必須在代碼的最後一行,而不能在新的一行;
golang 代碼組織裏須要注意 vendor 和 internal 的特殊用法,internal 不會主動出如今godoc中,可是能夠手動輸入路徑;
golang 的time.Format(string)string 方法,參數必須是:2006-01-02 15:04:05
而不能是自定義的年月日時間,雖然說方便記憶,可是你Format註釋就不能說明白了麼? 還要我百度搜索,不友好;
golang 的map結構,每次都會故意亂序,實在是太噁心了;;; 我作權重隨機的時候,就必需要先轉順序固定的數組slice了;有序或者無序 不重要,關鍵兩次遍歷 順序都不同,這樣就很差玩了!
golang 的map[]struct{} 添加進入map後的元素 是不能修改的 ! 好想念C++的STL map (其實這樣也挺好的,學習Erlang思想,只能拷貝,不能修改,能保證併發下的程序健壯性),不過必需要make,也是硬傷。
golang 的import "./package" 基本上沒用,必須使用完整package路徑,我作單元測試UnitTest必須在同一個目錄,若是在子目錄test,則必須指定完整路徑,太噁心,增長重構成本!
golang 的類型必須顯式轉換, int int32 int64 就不能自動轉換?
golang 沒有模板, 因此看到代碼裏有一個函數 ConvertIntSliceToInt32Slice 我就以爲 有點小煩躁!
golang 的函數返回值,若是是定義有多個返回值參數,還必須用 相似(int,error)
這樣的括號擴住,沒有括號就報錯,有點噁心;
golang 的多函數返回值,不能鏈式調用,加上類型不能隱式轉換,我要聲明一些 多餘的臨時變量,噁心!
golang 沒有const限定,這個原本是讓開發人員減小錯誤的發生的(見 effectiveC++ 條款4);可是golang沒有,golang的數據 slice map 都無法修改,跟C++徹底不一樣,到是與Erlang 差很少.煩躁.golang
參考連接:
Golang Vendor數組