//定義變量a,a只在if語句中有效
if a : = 1; a > 1 {
fmt.Println("a > 1")
}
else {
if a : = 10; a > 1 {
fmt.Println(a) //結果為10,和C語言變量作用域一致
}
else {
fmt.Println(a)
}
}
for的三種形式
func main() {
count: = 3
for i : = 0; i < count; i++ { //經典形式
fmt.Println(i)
}
i: = 0
for i < count{ //類似c中的while,只帶終止條件
fmt.Println(i)
i++
}
i = 0
for { //死循環
if i < count{
fmt.Println(i)
i++
}
else {
break
}
}
}
switch用法:
func main() {
count: = 1
switch count{
case 1:
fmt.Println(count)
fallthrough //繼續檢查下一個case,屏蔽break功能
case 2:
fmt.Println(count) //case自帶break功能
case 3:
fmt.Println(count)
default:
fmt.Println(count)
}
}
func main() {
count: = 1
switch { //switch不帶常量,和c中if……else if……esle作用一致
case count == 1: //case需要使用邏輯表達式
fmt.Println(count)
fallthrough //繼續檢查下一個case,屏蔽break功能
case count <= 1:
fmt.Println(count) //case自帶break功能
case count >= 1:
fmt.Println(count)
default:
fmt.Println(count)
}
}
break和標簽
func main() {
J:
for j : = 0; j < 5; j++ {
for i : = 0; i < 10; i++ {
if i > 6 {
break J //標簽J位于第一層for循環,break J相當于跳出第一層for循環
}
fmt.Println(i)
}
}
}
continue與標簽
func main() {
J:
for j : = 0; j < 5; j++ {
fmt.Println("--------")
for i : = 0; i < 10; i++ {
if i > 6 {
continue J //標簽J位于第一層for循環,continue J相當于跳過其之后的語句并且跳轉到第一層for繼續執行第一層循環(第一層循環條件j的值仍然遞增)
}
fmt.Println(i)
}
fmt.Println("+++++++") //continue的時候第一層循環體內的語言也不會被執行,注意與C的區別
}
}
goto與標簽
func main() {
J:
for j : = 0; j < 5; j++ {
fmt.Println("--------")
for i : = 0; i < 10; i++ {
if i > 6 {
goto J //goto到第一層for循環,j的值被重新賦值為0,此時循環為無限循環,與continue的區別在于:continue繼續執行循環,goto重新開始循環
}
fmt.Println(i)
}
fmt.Println("+++++++")
}
}
使用goto的時候仍然要注意,避免死循環,goto盡可能到其后的代碼免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。