if判斷語句
if判斷語句的判斷條件不用()包裹,可以在判斷語句里面初始化判斷條件的值
當判斷語句的聲明變量和局部變量名稱一致時候,執(zhí)行到判斷語句中假設變量命名是if1時,局部變量的命名if1會隱藏,等到判斷語句執(zhí)行完再出現(xiàn)
func tempIf(a int) {
if a > 0 {
f.Println("if is true")
} else {
f.Println("if is false")
}
}
for判斷語句
循環(huán)語句只有for,支持三種形式,沒有while那些循環(huán)語句
初始化和步進表達式可以是多個值
條件每次循環(huán)都會被重新檢查,因此不建議在條件語句中使用函數(shù),盡量提前計算好條件并以常量或者變量代替
func tempFor(a int) {//常用的循環(huán)模式
for i := 0; i < 10; i++ {
if a == i {
f.Println("break")
break;
}
}
}
func tempFor1(a int) {
for a!=10{
f.Println("continue")
}
}
func tempFor2(a int) {//類似while
for{
if a>5{
f.Println(a)
break;
}
}
}
switch判斷語句
switch語句可以使用任何類型或表達式做條件語句
不需要break,一旦條件成立自動終止
如果希望執(zhí)行下一個case妄痪,使用fallthrough語句
支持一個初始化表達式(可以是并行方式),右側需跟分號
func tempSwitch(str string) {
switch str {
case "1":
f.Println("str is 1")
fallthrough//關鍵字,條件成立,依舊執(zhí)行下一條case,不管下一條條件是否成立
case "2":
f.Println("str is 2")
case "3":
f.Println("str is 3")
}
}
跳轉語句,關鍵字break虫腋,goto,continue
break,continue關鍵字作用其實跟java語言的沒啥區(qū)別,可以跳出或者跳轉執(zhí)行指定的標簽,但是在java中goto是保留字段,沒有任何意義
c++中有標簽,但是他的break,和continue不能說指定跳出和繼續(xù)指定的標簽锈玉,但是他的goto可以實現(xiàn)這個功能滤淳,條件成立,跳轉到指定 標簽的執(zhí)行語句中
break關鍵字
LABLE1:
for {
for i := 1; i < 10; i++ {
if i == 4 {
break LABLE1 //跳出定義了標簽層
}
}
}
fm.Println("break is over")
goto關鍵字
for {
for i := 1; i < 10; i++ {
if i == 4 {
goto LABLE2 //調整了執(zhí)行位置,如果是標簽是放在for語句
//之前,又是重新開始執(zhí)行
}
}
}
LABLE2:
fm.Println("goto is over")
continue關鍵字
LABLE3:
for i := 1; i < 10; i++ {
for {
fm.Print(i)
continue LABLE3 //繼續(xù)執(zhí)行定義了標簽層
}
}
fm.Println("continue is over")
自增符號++和自減符號--
他這個跟java語言的還是有區(qū)別的,它是作為一個語句梧喷,而不是作為一個表達式,他不能放在變量的左邊脖咐,只能放在右邊铺敌,譬如
a:=1
a=a++ 或者 + +a,這樣是錯誤的,
只能a++,因為他是一個語句屁擅,同樣道理偿凭,自減符號也是一樣。
最后編輯于 :2017.12.10 19:46:39
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者