Go語言學習(五)迴圈語句

2021-10-01 10:55:25 字數 2366 閱讀 6716

在不少實際問題中有許多具有規律性的重複性操作,因此在程式中需要重複執行某些語句,go語言提供了以下幾種型別迴圈處理語句:

重複執行語句塊

for迴圈是乙個迴圈控制結構,可以執行指定次數的迴圈

**1:計算1到10的數字之和

**2:在sum小於10的時候計算sum自相加後的值(即1+2+3+4+5=10+6=16)

總結:(1)go語言開發工具在編譯**時,會自動將其中的for ; sum<=10;中的兩個分號自動刪除

(2)init和post引數是可選的,我們可以直接省略他,類似於while語句(如果不刪除init和post,應該為for i :=0;i<=10;i++)

**3:無限迴圈:

**4:for-each range 迴圈

這種格式的迴圈可以對字串、陣列、切片等進行迭代輸出元素。

**如下:使用迴圈巢狀來輸出2到100間的素數

說明:(1)簡單來說該**主要是用i除以j,如果i除以j有餘數,那麼說明i不是素數(當然了,j是有範圍的,即j<=(i/j))

(2)<1>當i=2,j=2時,j>1,則不進行for語句裡面的內容,直接輸出是2是素數

<2>當i=3,j=2,j>1.5,則不進行for語句裡面的內容,直接輸出3是素數

<3>當i=4,j=2,j<=2,進行for語句裡面的內容,判斷i%j(4%2==0),只要i除以j可以整除,那麼說明該i不是素數

<4>接下來的過程迴圈即可

(3)這道題我想了很久,之前有碰到過這樣的題,而且用數學思維也很清楚的知道素數應該怎麼算,但是真正模仿別人**的時候,反而有很多地方卡住了,我的解題思路希望對你們有所幫助:我首先仔細看每個語句的意思,之後分類,根據大括號就可以分,然後再一些點上面新增print語句,通過輸出判斷執行該句後的變數的值的變化情況

**1:在變數a大於15的時候跳出迴圈

**2:以下例項有多重迴圈,演示了使用標記和不使用標記的區別:

說明:第二個re-break中,break-re直接將re後的**全部退出迴圈了

總結:(1)在迴圈中的a=a+1不能省略,如果省略了,那麼a將沒有值了,故無法進行之後的迴圈。

(2)該**主要當執行a==15時,首先a=a+1=16,然後跳出該次迴圈,即該if語句以及for語句之後的內容不再執行,而是重新開始當a=16

**2:以下例項有多重迴圈,演示了使用標記和不使用標記的區別:

不使用標記:

使用標記:

總結:使用標記後退出該次迴圈(即最大的迴圈,i=1/2/3的時候)

go 語言的 goto 語句可以無條件地轉移到過程中指定的行。

goto 語句通常與條件語句配合使用。可用來實現條件轉移, 構成迴圈,跳出迴圈體等功能。

但是,在結構化程式設計中一般不主張使用 goto 語句, 以免造成程式流程的混亂,使理解和除錯程式都產生困難。

**:

在變數a等於15的時候跳出本次迴圈並回到迴圈的開始語句loop處

go語言學習(七 語言迴圈語句)

for迴圈 package main import fmt func main 先對表示式init 賦初值 就是 i 0 判別表示式 condition 是真,則執行迴圈體內語句,然後執行 post,進入第二次迴圈 再次判別表示式 condition 是假,終止for迴圈 sum 0for i 0 ...

Go語言學習筆記六 迴圈語句

今天學了乙個格式化 的命令 gofmt w chapter6.go for迴圈有3種形式 for init condition increment 類似while for condition 和for 一樣 for迴圈slice,map,陣列,字串還可以使用下面這種方式 for key,value ...

Go語言學習筆記 五

這是go語言學習筆記的第五篇 條件語句格式 if condition else 幾點注意的地方 func example x int int else 選擇語句格式 switch iswitch幾點注意的地方 go語言中迴圈語句只支援for關鍵字,不支援while和do while。for基本用法如...