原创 golang 函數三 (延遲調用)

Go語言提供defer關鍵字,用於延遲調用,延遲到當函數返回前被執行,多用於資源釋放、解鎖以及錯誤處理等操作。比如:func main() {     f, err := createFile("defer.txt")     if err

原创 golang 方法

golang語言中的方法是與對象實例綁定的特殊函數,用於維護和展示對象的自身狀態。與函數的區別是方法有前置實例接收參數(receiver),編譯器根據receiver來判斷該方法屬於哪個實例。receiver可以是基礎類型,也可以是指針類型

原创 golang 函數四 (錯誤處理)

爲了方便實現自定義錯誤類型,Go語言標準庫中將error定義爲接口類型。比如:type error interface{     Error() string }按照Go語言編程習慣,error總是最後一個函數返回值,並且標準庫提供了創建函

原创 golang 函數一 (定義、參數、返回值)

對於GoLang函數的定義或者說理解:函數是結構化編程中最小的模塊單元,日常開發過程中,將複雜的算法過程分解爲若干個小任務(代碼塊),使程序的結構性更清晰,程序可讀性提升,易於後期維護和讓別人讀懂你的代碼。另外爲了更好的重用你的代碼,可以把

原创 golang 表達式

表達式  1. 關鍵字   2. 運算符   3. 初始化關鍵字        關鍵字是指被編程語言保留而不讓編程人員作爲標誌符使用的字符序列。因此,關鍵字也稱爲保留字, 每種編程語言都有自己的關鍵字,從使用的角度看,我們可以把Go語言的2

原创 golang 流程控制

Go語言的流程控制主要分爲三大類:1. 條件判斷 2. 循環控制 3. 無條件跳轉條件判斷Go語言的條件判斷由if ... else if ... else 語句實現,條件表達式值必須是布爾類型,可省略圓括號,但是花括號不能省略且左花括號不

原创 golang 基本詞法

在編程語言中,詞法是代碼的構成法則。也就是說,詞法規定了我們敲入怎樣的字符才能編寫出編譯器 能夠識別的代碼,所以要掌握一門語言,那麼語言的詞法是我們要學習的第一步,Go語言也不過如此。源代碼表示Go語言的代碼是由若干Unicode字符組成,

原创 golang 類型-----沒有markdown真是鬧騰@51cto

1. 變量 2. 命名 3. 常量 4. 基本類型 5. 引用類型 6. 類型轉換 7. 自定義類型變量Go語言有兩種方式定義變量:var 關鍵字 := 短變量聲明符var關鍵字var x int   //自動初始化爲0 var y = f

原创 golang 數據四 (結構體)

結構體由一系列被稱爲字段的元素組成。每個字段由名稱和類型組成,字段名稱可以被顯示命名,也可以是匿名的。在聲明結構體類型時,字段名稱必須唯一,可使用"_"補位,支持使用自身指針類型成員。字段名和排列順序都屬於結構體類型的組成部分,因爲編譯器會

原创 golang 數據三 (字典)

golang基本數據結構Map也叫字典,字典的聲明格式如下: map[KeyType]ValueType字典是無序鍵值對集合,字典要求KeyType必須是支持相等運算符(==,!=)的數據類型,比如:數字、字符串、指針、數組、結構體以及對應

原创 golang 數據二 (切片)

在項目開發過程中,更多的場景是需要一個長度可以動態更新的數據存儲結構,切片本身並非是動態數組或數組指針,他內部通過指針引用底層數組,並設定相關屬性將數據讀寫操作限定在指定區域內。比如:/runtime/slice.go type slic

原创 golang 數據一   (字符串、數組和數組指針)

從如下幾個方面介紹GO語言的數據1. 字符串 2. 數組 3. 切片 4. 字典 5. 結構字符串Go語言中的字符串是由一組不可變的字節(byte)序列組成從源碼文件中看出其本身是一個複合結構string.go  type stringSt

原创 golang 函數二 (匿名函數和閉包)

匿名函數就是沒有定義函數名稱的函數。我們可以在函數內部定義匿名函數,也叫函數嵌套。匿名函數可以直接被調用,也可以賦值給變量、作爲參數或返回值。比如:func main(){     func(s string){     //直接被調用