Go 变量和常量
最近在看Go相關的書籍,看到go相關的語法,非常的簡潔和亮眼,就準備學習一下相關的資料,將自己看到的書籍記錄一下筆記,補充一下工作之余的相關知識。先開始Go的語法
一:變量
1.0:變量申明
var a int //定義一個整形變量
var b string //定義一個字符串
var c [10]int //定義一個整形的數組
var d []int //定義一個整形的數組切片
var e *int //定義一個整形的指針
var f map[string]interface{} //定義一個字典集合
var func( value int) int //定義一個函數
var (
v1 int
v2 string
) //定義多個變量?
1.1:變量的初始化
var v1 int= 10 // 正確的使用方式1
var v2 = 10 // 正確的使用方式2,編譯器可以自動推導出v2的類型
v3 := 10 // 正確的使用方式3,編譯器可以自動推導出v3的類型 ?=>var v3 int ?v3=10(v3:=10錯誤 )
1.2:變量的賦值
除了上面的變量初始化賦值外,Go有一個很特色的賦值(多重賦值)
i,j:=j,i 等價于下面
var i int =10
var j int =11
var temp int ?
temp=i
i=j
j=temp
這個賦值非常有特色,特別是比較大小的時候,簡化了代碼工作量,并且看著很舒服
1.3:匿名變量
在多返回值的時候,當我們只想獲取指定的返回值,我們在這種情況可以使用"_"來代表一個變量,如下所示
func GetName() (firstName, lastName, nickName string) {?
return"May", "Chan", "Chibi Maruko"
}
var name string
?
_,_,_,name=GetName()
二:常量
2.0:字面上的常量
指程序中硬編碼的常量 ?如-12 ,1 。。等等
2.1:常量的定義
const Pi float64= 3.14159265358979323846
const zero = 0.0 // 無類型浮點常量
const (
size int64= 1024
eof = -1 // 無類型整型常量
)
const u, v float32= 0, 3 // u = 0.0, v = 3.0,常量的多重賦值
const a, b, c = 3, 4, "foo"
注意:常量的定義是在編譯期的行為,所以右邊的賦值不能是運行期間得到的值 ?例如:const v2 int=os.GetEnv("Home")
2.2:預定義常量
Go中預定義的常量 有三種 true ,false 和itoa 其中itoa比較特殊,如下
const (
i=itoa =>0
j=itoa =>1
k=itoa =>2
)
在每一個const關鍵字出現時被重置為0,然后在下一個const出現之前,每出現一次iota,其所代表的數字會自動增1
2.3:枚舉
學過C#的人都知道 枚舉是一系列相關的變量,除了關鍵字區別外,內容都差不多,如下例子
const(
Sunday = iota
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
)
今天先到這里了,明天繼續學習類型,堅持。。
?
?
?
轉載于:https://www.cnblogs.com/dark-liu/p/3665147.html
總結
- 上一篇: 【海淘域名】GoDaddy账户被锁定后的
- 下一篇: 禁止网页复制