個人博客
標識符
- 駝峰法,首字母大寫可以在其他包里使用,首字母小寫只能在本包內(nèi)使用
- 跨包使用,的import地址從src的子目錄開始,src以及src所在的GOPATH自動補全
變量基礎語法
-
定義變量
-
var i int = 10
-
var關(guān)鍵字+變量名+變量類型
-
var i = 10
-
自動推斷類型
-
i := 10
-
簡略寫法
-
對應的,可以聲明多個變量
-
var a, b, c int = 1, "a", 2
-
var a, str1, b = 1, "a", 2
-
a, str1, b := 1, "a", 2
-
var ( i = 1 j = 2 )
-
另一種聲明方法,開發(fā)中常用
-
import ( "fmt" "unsafe" )
-
導包也可以類似這樣
- 不能改變變量的類型,例如開始賦值整數(shù),后來又賦值浮點數(shù)。
- 默認值,數(shù)默認為0,字符串默認為空串
字符串類型
-
利用UTF-8編碼,支持中文
-
go中字符串是常量,無法修改
-
引號
- 雙引號"" :會識別轉(zhuǎn)義字符
- 反引號``:不識別轉(zhuǎn)義字符(防止SQL注入之類的?)
-
加號拼接,可以分行寫(加號放行尾)
類型轉(zhuǎn)換
-
go不會自動轉(zhuǎn)換類型,需要顯式轉(zhuǎn)換文章來源:http://www.zghlxwxcb.cn/news/detail-664634.html
-
var i int = 1 var j float32 = float32(i)
string和其他基本類型轉(zhuǎn)換
其他類型轉(zhuǎn)string
func main() {
var a int = 10
var b float32 = 3.14
var s string = fmt.Sprintf("%d %.2f", a, b)
fmt.Println(s)
}
string轉(zhuǎn)其他類型
b, err := strconv.ParseBool("true")
f, err := strconv.ParseFloat("3.1415", 64)//返回64位要 強轉(zhuǎn)
i, err := strconv.ParseInt("-42", 10, 64)//進制 和 位數(shù)
u, err := strconv.ParseUint("42", 10, 64)
- 返回值有兩個
- 可以使用_代替err,下劃線是特殊的變量,表示忽略返回值。
- 如果無法轉(zhuǎn)換則返回0
- 學英語:parse是分析的意思,strconv = string-conversion
指針類型
- 和C語言類似,不贅述。
運算符
- 沒有三元運算符,只能用if else,if后面沒有小括號
- 運算與C語言一致
- 自增自減只能單獨使用,不能在自增自減的同時給變量賦值
- 自增自減的++和–都必須放在變量的后邊!
標準IO
-
string也是基本類型,傳入&地址。文章來源地址http://www.zghlxwxcb.cn/news/detail-664634.html
-
func main() { var str string _, _ = fmt.Scanln(str) fmt.Println(str) }
分支語句
- 基本和C語言一致
- switch 不用break;
- 可以匹配多個表達式,邏輯或的關(guān)系
- case,switch后面是一個表達式(不一定是常量)
- case和switch的數(shù)據(jù)類型必須一致
- case的常量(字面量)不能重復
- switch后面可以不帶表達式,可以代替if else作分支選擇
- fallthrough關(guān)鍵字可以穿透到下一分支,用來代償省略break的功能
到了這里,關(guān)于Go學習-Day2的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!