單個變量的賦值與聲明安全
變量的聲明格式:var <變量名稱> <變量類型>bash
變量的賦值格式:<變量名稱> = <表達式>ide
聲明的同時賦值:var <變量名稱> [變量類型] = <表達式>函數
<變量名> := <變量值> --->只能在函數體內使用spa
多個變量的複製與聲明orm
全局變量的聲明可使用var()的方式簡寫blog
全局變量的聲明不能夠省略var,但可以使用並行的方式字符串
全部變量均可以使用類型推斷get
並行方式的聲明:string
var a,b,c,d int=1,2,3,4
函數體內:
a,b,c,d :=1,2,3,4
空白符
_ 使用空白符,來對某個返回值,進行忽略
變量的類型轉換
Go中不存在隱式轉換,全部類型轉換必須顯式聲明 -->保證了go是一個類型安全的語言
轉換隻能發生在兩種相互兼容的類型之間
格式爲: <變量A> [:] type變量A (變量B)
var a float32 = 1.1 b := int(a) 因爲浮點型到整型的轉換隻是一個精度的丟失,這種是能夠進行轉換的 var a bool = true b := int(a) 該表達式沒法經過編譯,由於類型不兼容,因此不能進行相互轉換
注意:在對int型轉換爲string型時,string(),表示把變量a轉換爲string格式,由於計算機中存儲的任何東西本質上都是由0和1表示的數字,所以此函數天然的認爲咱們須要的是用數字65表示的文本(A)。
因此若是咱們要把65轉換爲 字符串「65」的話,就須要使用strconv這個包了。(strconv.Itoa)
而若是把字符串轉換爲int,那麼就須要用(strconv.Atoi)
注意:這裏只能轉換字符串型數字,相似「1」,「123」等。
常量的定義
- 常亮的值在編譯時就已經肯定
- 常量的定義格式與變量基本相同
- 等號右則必須是常量或者常量表達式
- 常量表達式的函數必須是內置函數
初始化規則與枚舉
- 在定義常量組時,若是不提供初始值,則表示使用上一行的表達式(注意,若是上一行定義了兩個常量,那麼下一行也要定義兩個常量才能夠)
- 使用相同的表達式不表明具備相同的值
- iota是常量的計數器,從0開始,組中每定義1個常量自動遞增1
- 經過初始化規則與iota能夠達到枚舉效果
- 每遇到一個const關鍵字,iota就會重置爲0
因爲以前已經定義了兩個常量(0,1)因此定義的c若是iota的話就是2了,直到遇到下一個const,纔會被重置爲0
常量命名建議:建議都使用大寫。若是不想讓外部引用能夠在前面添加c(const)或者_來區分