生活随笔
收集整理的這篇文章主要介紹了
go-变量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這次我們學習一下golang語言
gitee: go-study
定義
定義的變量或者函數必須用到(pakeage內的全局除外)
var a int // 默認為0
var b string //默認為
""
fmt.Printf(
"%d %q\n",a, s)
復制代碼直接定義可以不寫類型(int..)go會自行判斷
var a, b = 3, 4
var s =
"abc"var a, b, c, s = 3, 4,
true,
"def"
復制代碼不寫var(函數內可用:=,函數外不可以用),
a, b, c, s := 3, 4,
true,
"def"
b = 5 //第二次不用:=
復制代碼簡寫var
var aa = 3
var ss =
"kkk"
var bb =
truevar (aa = 3ss =
"kkk"bb =
true
)
復制代碼內建變量類型
- bool, string
- (u)int, (u)int8, (u)int16, (u)int32, (u)int64, uintptr
- byte, rune
- float332, float64, complex64, complex128
強制類型轉換
var a, b int = 3, 4
var c int
c = math.Sqrt(
float64(a*a + b*b))) //報錯
c = int(math.Sqrt(
float64(a*a + b*b))) //正確
復制代碼常量和枚舉
- 常量(不要大寫) const數值可以作為各種類型使用
const filename =
"abc.txt"
const a, b = 3, 4 //不定義int類型則為文本
var c int
c = int(math.Sqrt(a*a + b*b))
復制代碼const (cpp = 0java = 1pytion = 2golang = 3
)
fmt.Println(cpp, java, pytion, golang) //0,1,2,3
復制代碼iotaconst (cpp = iotajavapytiongolang
)
fmt.Println(cpp, java, pytion, golang)//0,1,2,3const (cpp = iota_ //跳過javapytiongolang
)const (b = 1 << (10 * iota)kbmbgbtbpb
)
fmt.Println(b, kb, mb, gb, tb, pb) //1 1024 1048576 1073741824 1099511627776 1125899906842624
復制代碼條件語句
const filename =
"abc.txt"
contents, err := ioutil.ReadFile(filename)
if err != nil {fmt.Println(err)
}
else {fmt.Printf(
"%s\n", contents)
}
// 第二種寫法(類似
for) contents外部訪問不到
const filename =
"abc.txt"
if contents, err := ioutil.ReadFile(filename); err != nil {fmt.Println(err)
}
else {fmt.Printf(
"%s\n", contents)
}
fmt.Printf(
"%s\n", contents) //報錯
復制代碼func grade(score int) string {g :=
""switch {
case score < 0 || score > 100:panic(fmt.S
printf(
"Wrong score: %d", score))
case score < 60:g =
"f"case score < 80:g =
"c"case score < 90:g =
"b"case score <= 100:g =
"a"}
return g
}
fmt.Println(grade(0),grade(59),grade(69),
)// f f c
fmt.Println(grade(0),grade(59),grade(69),grade(101),
)// 報錯,其他數值算不出來
復制代碼后續會繼續更新
總結
以上是生活随笔為你收集整理的go-变量的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。