Golang基礎 流程控制

2021-10-09 23:41:03 字數 4054 閱讀 9170

package main

import

"fmt"

func

main()

package main

import

"fmt"

//單分支控制

func

main()

}

package main

import

"fmt"

func

main()

}

package main

import

"fmt"

/* 多分支控制

多分支只能有乙個執行入口

案例:小明參加考試 得100分獲得bmw (80,99)獲得iphone11 (60,80]得ipad 其他什麼也沒有

*/func

main()

else

if score >

80&& score <=

99else

if score >=

60&& score <=

80else

}

package main

import

"fmt"

/*//案例一:參加運動會,如果8秒以內進決賽,否則淘汰。並根據性別進入男子組或女子組。

func main() else

} else }*/

//案例二:四到十月份 **(18,60)票價60元 兒童半價 老人三分之一 其他月份 **40 其他20

func

main()

else

if age >=

18else

}else

else

}}

package main

import

"fmt"

func

main()

}

注意事項:

1.case/switch後面是乙個表示式(常量值,變數,乙個有返回值的函式等)

2.case後的表示式的值的資料型別,必須和switch的表示式資料型別一致

3.case後面可以帶多個表示式,使用逗號間隔。

4.case後面的表示式如果是常量值,要求不可以重複

5.case後面不需要帶break,default不是必須的

6.switch後面可以不帶表示式,類似if else分支

案例:

var age int=10

switch

// 7.switch後面可以直接宣告乙個變數,以分號結束,但是不推薦使用。

// 8.switch穿透-fallthrough,如果在case語句塊後面增加乙個fallthrough,則會繼續執行下乙個case,也叫switch穿透。

// 9.type switch:switch語句還用於type-switch來判斷inte***ce變數中實際指向的變數型別。

基礎用法

package main

import

"fmt"

func

main()

}/*語法格式

for 迴圈變數初始化; 迴圈條件; 迴圈變數迭代

*/

用法二

package main

import

"fmt"

func

main()

}

用法三

package main

import

"fmt"

func

main()

else

j++}}

用法四-字串遍歷

package main

import

"fmt"

func

main()

*///字串遍歷方式二:for-range

fmt.

println()

var str string

str =

"hello,孫"

//傳統方式字串不可以含有中文

for index, val :=

range str

}

package main

import

"fmt"

func

main()

fmt.

println

("hello yang"

, i)

i++} fmt.

println

("i="

, i)

}

示例**:

package main

import

"fmt"

func

main()

fmt.

printf

("第%d班的平均成績為%v \n"

, j, sum/

float64

(studentnum)

) totalsum = sum + totalsum

}fmt.

printf

("各個班總成績為%v 所有班的平均分為%v \n"

, totalsum, totalsum/

float64

(studentnum*classnum)

)}

1.break用於終止某個語句塊的執行,用於中斷for迴圈或者跳出switch語句

2.break出現在多層巢狀的語句塊時,可以通過標籤指明要終止哪一層語句

3.break缺省會跳出最近的for迴圈,後面指定標籤則跳出標籤對應的for迴圈

示例**:

package main

import

"fmt"

func

main()

fmt.

println

("j="

, j)}}

}

package main

import

"fmt"

func

main()

fmt.

println

("j="

, j)}}

}

goto可以無條件地轉移到程式中指定的行。

goto通常和條件語句配合使用,用來實現條件轉移,跳出迴圈體等功能。程式設計中一般不提倡使用,會造成流程混亂。

示例**:

package main

import

"fmt"

func

main()

fmt.

println

("ok2"

) fmt.

println

("ok3"

) fmt.

println

("ok4"

)label1:

fmt.

println

("ok5"

)}

return使用在方法或者函式中,表示跳出所在的方法或者函式。

示例**:

package main

import

"fmt"

func

main()

fmt.

println

("nihao"

, i)

} fmt.

println

("hello"

)}

如果return是在普通函式中,則跳出該函式,即不再執行函式return後的**。

如果return是在main函式中,表示終止main函式,即終止程式。

Golang 基礎之流程控制

ps 參考博文,致謝 if 表示式1 else if 表示式2 else if 條件判斷 func main else if age 20 else if age 10 else func ifdemo2 else if score 75 else 作用域,此時score變數只在if條件語句內部生效...

golang 流程控制

toc golang提供了下面幾個關鍵字 if else for switch case fallthrough select break continue goto等,實現程式的分支控制,並且賦予它們不同的用法。在本節中我們會重點討論除了select的其他關鍵字,select會放在併發和通訊的時候...

Golang 流程控制

package main import fmt func main else if age 18 變數寫在條件中,不會對全域性有影響 if age2 18 age2 18else if age2 18 package main import fmt func main 忽略初始語句 需要提前宣告 i...