所有語言的流程控制都是三個 順序執行 if else for
一 if else 分支結構
if 表示式1else if 表示式2 else{
func ifdemo1(){
score := 65
if score <= 90 {
fmt.println("a")
1,2 if 條件特殊寫法 在 if表示式之前加乙個執行語句 在根據變數值進行判斷
func ifdemo2(){
if score :=65;score >=90 {
fmt.println(score)
二, for(迴圈結構) go所有迴圈都可在for 不像php 有foreach
for 初始語句;條件表示式;結束語句 {
條件表示式為false 結束迴圈
func fordemo1(
for i:=1;i<10;i++{
fmt.println(i)
for迴圈的初始語句可以省略 但是 ; 不能省
func demofor2(){
i:=0
for ;i<100;i++ {
fmt.println(i)
or迴圈的初始語句和結束語句一起省略
func fordemo3(){
i := 10
for i< 100{
fmt.println(i)
無限迴圈
for {
語句for迴圈 可以通過 break goto return panic 退出迴圈
三, for range (鍵值迴圈)
go 可以使用此 遍歷 陣列 切片 字串 map channel(通道)
1 陣列 切片 字串 返回值和索引
2 map 返回鍵和值
3 channel 只返回通道內的值
四 switch case
func switchdemo(){
a:=3
switch a {
case 1:
fmt.println(a)
case 2 :
fmt.println("b")
default:
fmt.println("default")
//乙個分支可以有多個值
func switchdemo2(){
switch n:=5;n{
case 2,3,6:
fmt.println("偶數")
case 1,5:
fmt.println("偶數")
default:
//分支還可以使用表示式 fallthrough 語法可以滿足條件的case 執行下個case
func deomo(){
age :=20
switch {
case age >10:
fmt.println("10")
fallsthrough
case age <10://這個case會執行
五, goto 跳轉到指定標籤
func demo(){
var breakflag bool
for i:=0;i< 10;i++{
for j:=0;j<10;j++{
if j ==2 {
breakflag = true
break
if breakflag {
break
使用goto簡化
func demogoto(){
for i:=0;i<10;i++{
for j:=0;j<10;j++{
if j == 2{
goto breaktag
return
//標籤
breaktag:
六 break
breakdemo:
break breakdemo //語句新增標籤 表示退出某個標籤對於的**塊
七 continue 繼續下次迴圈
在continue 加標籤 表示開始標籤對應的迴圈
forloop1:
continue forloop1
go流程控制
用於測試條件是否成立,成立則執行if括起來的 if condition 複製 如果需要在條件不滿足時執行,則只需要加上else即可 if condition else 複製 如果存在多個條件,可以使用else if增加新的判斷 if condition1 else if condition2 els...
go流程控制
1 if語句 1 if ture else 2if a 44 a 23else 2 switchswitch 語句用於基於不同條件執行不同動作,每乙個 case 分支都是唯一的,從上直下逐一測試,直到匹配為止。golang switch 分支表示式可以是任意型別,不限於常量。可省略 break,預設...
go流程控制
go語言僅有兩種流程控制語法,不存在while if age 18else if age 7else 標準迴圈 標準迴圈,結束後變數不存在 for i 0 i 10 i 迴圈外定義,結束迴圈後,變數仍存在 var i 0for i 10 i 將累加數值置於迴圈體中 for i 10 閉迴圈 forr...