- 切片
- var sliceName [ ]dataType,創建切片時,不能指定切片的長度
- slice = array[start : end],左閉右開
- var slice = make([ ]int,5,10),元素個數爲5,初值爲0,並預留10個元素的存儲空間
- 切片的增加可以使用 append 函數
- 切片的複製可以使用 copy 函數
- 字典
- var map1 map[ string ] int,這是隻是聲明瞭字典,並沒有初始化,因此此時向 map1 中添加數據項會出現編譯錯誤。
- 字典的查找 v, ok := mapName[Key],如果存在,則ok是true,否則ok是false,v是0.
- 字典項刪除 delete(map,“key”)
- defer語句
- 使用關鍵字 defer 向函數註冊退出調用,即當主調函數退出時,defer後的函數纔會被調用。defer語句的作用是不管程序是否出現異常,均在函數退出時自動執行相關代碼。
- 如果程序中有多個defer語句,則按照先進後出的次序執行,即最後一個defer語句最先被執行。
- defer語句還支持匿名函數調用,如果函數有返回值,被延遲執行的匿名函數還會讀取函數的返回值,並對返回值賦值。
- 在程序返回或者發生異常時,defer語句通常用來做一些函數調用後的清理工作,釋放資源變量。
go語言學習之切片、字典、defer語句
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.