這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
單個變數的賦值與聲明
變數的聲明格式:var 聽<變數名稱> 聽<變數類型>
變數的賦值格式:<變數名稱> = <運算式>
聲明的同時賦值:var <變數名稱> [變數類型] = <運算式>
<變數名> := <變數值> 聽--->只能在函數體內使用
多個變數的複製與聲明
全域變數的聲明可以使用var()的方式簡寫
全域變數的聲明不可以省略var,但可使用並行的方式
所有變數都可以使用類型推斷
並行方式的聲明:
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.1b聽:=聽int(a)由於浮點型到整型的轉換隻是一個精度的丟失,這種是可以進行轉換的var聽a聽bool聽=聽trueb聽:=聽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)或者_來區分
本文出自 “你的黑夜” 部落格,請務必保留此出處http://lixin15.blog.51cto.com/3845983/1846837