最近學習了go語言,對基礎知識進行了一些總結
1.檔名小寫,長名時以下劃線分割,擴充套件名為go
2._空白識別符號,值會被拋棄。
3.常量的定義格式: const identifier [type] = value ,例如:const pi string = 3.14159在 go 語言中,你可以省略型別說明符 [type] ,因為編譯器可以根據變數的值來推斷其型別。
例如const pi = 3.14159
4.宣告變數的一般形式是使用 var 關鍵字:var identifier type
首先,它是為了避免像 c 語言中那樣含糊不清的宣告形式,例如: int* a, b; 。在這個例子中,只有 a 是
指標而 b 不是。如果你想要這兩個變數都是指標,則需要將它們分開書寫。
5.識別符號大寫字母開頭相當於public,小寫字母開頭相當於private。
6.運算子優先順序
7 ^ !
6 * / % << >> & &^
5 + - | ^
4 == != < <= >= >
3 <-
2 &&
1 ||
7.float不能直接用,只有float32和float64。
8.不同型別不可以同時使用 如int和int32。
9.當你在函式體內宣告區域性變數時,應使用簡短宣告語法 :=
例如:a := 1
10.for i := 0; i < 5; i++ ,它們之間使用分號 ; 相隔,但並不需要括號 () 將它們括起來。例如:
for (i = 0; i < 10; i++) ,這是無效的**!
11.if else 結構:取消表示式的(), 左大括號在上行,else要與if的右大括號為同一行
if aft == "" else
12.switch 匹配後,就自動結束了。不需要break
但是 fallthrough 關鍵字,可以實現多個匹配功能。
在case 後面,通過逗號,也能實現相關功能
13.目錄就代表包。乙個專案類,必定存在乙個main包,但是沒有main目錄名。可以存在多級目錄,import多級包,但是引用時,只使用最近一級包名
14.陣列var arr1 [5]int
切片var slice1 int = arr1[2:5]
切片的長度 就是它所包含的元素個數。
切片的容量 切片元素個數加原陣列切片結束位置自己及其之後元素個數
切片 s 的長度和容量可通過表示式 len(s) 和 cap(s) 來獲取
map:var map1 map[keytype]valuetype
15.函式:
func closefile()
函式被呼叫的基本格式如下:
pack1.function(arg1, arg2, …, argn)
函式過載是不被允許的
函式不能在其它函式裡面宣告(不能巢狀)
16.defer關鍵字:
defer 允許我們推遲到函式返回之前(或任意位置執行 return 語句之後)一刻才執行某個語句或 函式(為什麼要在返回之後才執行這些語句?因為 return 語句同樣可以包含一些操作,而不是單純地返 回某個值)。
17.結構體:
type identifier struct
18.工廠方法(建構函式):
ms := newstruct1
func newstruct1(n int, f float32, name string) *struct1
}19.方法:
func (ats atsfile) closefile()
20.錯誤處理
painc用法是:用於丟擲錯誤。
recover()用法是:將recover()寫在defer中,並且在可能發生panic的地方之前,先呼叫此defer的東西(讓系統方法域結束時,有**要執行。)當程式遇到panic的時候(當然,也可以正常的呼叫出現的異常情況),系統將跳過後面的**,進入defer,如果defer函式中recover(),則返回捕獲到的panic的值。
func testb(x int)
}()var a [10]int
a[x] = 111 //當x為20時候,導致陣列越界,產生乙個panic,導致程式崩潰
}
go語言基礎總結
字串 var a hello a 0 b 字串是常量,可以訪問其位元組單元,但是不能修改某個位元組的值 字串尾部不包含null字元 與c 區分 基於字串建立的切片和原字串指向相同的底層字元陣列,同樣不能修改 指標結構體指標訪問結構體欄位仍然用.go語言沒有 與c 區分 a 12 b a b b go...
vue基礎內容總結(四)
每個 vue 應用都是通過用 vue 函式建立乙個新的 vue例項開始的 var vm new vue 選項 雖然沒有完全遵循mvvm 模型,但是 vue 的設計也受到它的啟發。當建立乙個 vue 例項時,可以傳入乙個選項物件。乙個 vue 應用由乙個通過 new vue 建立的根vue例項,以及可...
mysql學習總結 一 基礎內容
windowsnet start mysqllinux1 使用 service 啟動 service mysqld restart 2 使用 mysqld 指令碼啟動 etc inint.d mysqld restart 備註 檢視mysql埠是否已經使用,使用netstat anp 命令檢視伺服器...