<del id="d4fwx"><form id="d4fwx"></form></del>
      <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

            <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
          • golang流程控制語句怎么使用

            本文小編為大家詳細介紹“golang流程控制語句怎么使用”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“golang流程控制語句怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

            創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)與策劃設(shè)計,鹽池網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:鹽池等地區(qū)。鹽池做網(wǎng)站價格咨詢:13518219792

            流程控制語句:1、if語句,由一個布爾表達式后緊跟一個或多個語句組成;2、“if…else”語句,else中的表達式在布爾表達式為false時執(zhí)行;3、switch語句,用于基于不同條件執(zhí)行不同動作;4、select語句;5、for循環(huán)語句,語法“for k,v := range oldmap{newmap[k]=v}”;6、循環(huán)控制語句break、continue、goto。

            1、條件分支語句

            和c語言類似,相關(guān)的條件語句如下表所示:

            語句描述
            if 語句if 語句 由一個布爾表達式后緊跟一個或多個語句組成。
            if…else 語句if 語句 后可以使用可選的 else 語句, else 語句中的表達式在布爾表達式為 false 時執(zhí)行。
            switch 語句switch 語句用于基于不同條件執(zhí)行不同動作。
            select 語句select 語句類似于 switch 語句,但是select會隨機執(zhí)行一個可運行的case。如果沒有case可運行,它將阻塞,直到有case可運行。
            • if語句
              語法如下:

            if 布爾表達式 {
               /* 在布爾表達式為 true 時執(zhí)行 */
            }

            • if-else語句

            if 布爾表達式 {
               /* 在布爾表達式為 true 時執(zhí)行 */
            } else {
            	/* 在布爾表達式為 false 時執(zhí)行 */
            }

            • switch語句
              其中的變量v可以是任何類型,val1val2可以是同類型的任意值,類型不局限為常量或者整數(shù),或者最終結(jié)果為相同類型的表達式。

            switch v {
                case val1:
                    ...
                case val2:
                    ...
                default:
                    ...
            }

            • select語句
              select 是 Go 中的一個控制結(jié)構(gòu),類似于用于通信的 switch 語句。每個 case 必須是一個通信操作,要么是發(fā)送要么是接收。它將會隨機執(zhí)行一個可運行的 case。如果沒有 case 可運行,它將阻塞,直到有 case 可運行。一個默認的子句應(yīng)該總是可運行的。

            select {
                case communication clause  :
                   statement(s);      
                case communication clause  :
                   statement(s);
                /* 你可以定義任意數(shù)量的 case */
                default : /* 可選 */
                   statement(s);
            }

            注意:

            • 每個case必須都是一個通信

            • 所有channel表達式都會被求值,所有被發(fā)送的表達式都會被求值

            • 如果任意某一個通信都可以,它就執(zhí)行,其他就忽略

            • 如果有多個case都可以運行,select就會隨機挑選一個來執(zhí)行。

            • 如果沒有一個case可以被運行:如果有default子句,就執(zhí)行default子句,select將被阻塞,直到某個通信可以運行,從而避免饑餓問題。

            2、循環(huán)語句

            2.1 循環(huán)處理語句

            與多數(shù)語言不同的是,Go語言中的循環(huán)語句只支持 for 關(guān)鍵字,而不支持 while 和 do-while 結(jié)構(gòu),關(guān)鍵字 for 的基本使用方法與C語言和 C++ 中非常接近。

            go中時使用for實現(xiàn)循環(huán)的,共有三種形式:


            語法
            和c語言中的for相同for init; condition; post {}
            和c語言中的while相同for condition{}
            和c語言中的for(;;)相同for{}

            除此以外,for循環(huán)還可以直接使用range對slice、map、數(shù)組以及字符串等進行迭代循環(huán),格式如下:

            for key, value := range oldmap {
            	newmap[key] = value
            }

            2.2 循環(huán)控制語句

            控制語句詳解
            break中斷跳出循環(huán)或者switch語句
            continue跳過當前循環(huán)的剩余語句,然后繼續(xù)下一輪循環(huán)
            goto語句將控制轉(zhuǎn)移到被標記的語句

            1、break

            break主要用于循環(huán)語句跳出循環(huán),和c語言中的使用方式是相同的。且在多重循環(huán)的時候還可以使用label標出想要break的循環(huán)。
            實例代碼如下:

            a := 0
            for a<5 {
            	fmt.Printf("%d\n", a)
            	a++
            	if a==2 {
            		break;
            	}
            }
            /* output
            0
            1
            2
            */

            2、continue

            Go 語言的 continue 語句 有點像 break 語句。但是 continue 不是跳出循環(huán),而是跳過當前循環(huán)執(zhí)行下一次循環(huán)語句。在多重循環(huán)中,可以用標號 label 標出想 continue 的循環(huán)。
            實例代碼如下:

                // 不使用標記
                fmt.Println("---- continue ---- ")
                for i := 1; i <= 3; i++ {
                    fmt.Printf("i: %d\n", i)
                        for i2 := 11; i2 <= 13; i2++ {
                            fmt.Printf("i2: %d\n", i2)
                            continue
                        }
                }
            
            /* output
            i: 1
            i2: 11
            i2: 12
            i2: 13
            i: 2
            i2: 11
            i2: 12
            i2: 13
            i: 3
            i2: 11
            i2: 12
            i2: 13
            */
            
                // 使用標記
                fmt.Println("---- continue label ----")
                re:
                    for i := 1; i <= 3; i++ {
                        fmt.Printf("i: %d", i)
                            for i2 := 11; i2 <= 13; i2++ {
                                fmt.Printf("i2: %d\n", i2)
                                continue re
                            }
                    }
            
            /* output
            i: 1
            i2: 11
            i: 2
            i2: 11
            i: 3
            i2: 11
            */

            3、goto

            goto語句主要是無條件轉(zhuǎn)移到過程中指定的行。goto語句通常和條件語句配合使用,可用來實現(xiàn)條件轉(zhuǎn)移、構(gòu)成循環(huán)以及跳出循環(huán)體等功能。但是并不主張使用goto語句,以免造成程序流程混亂。
            示例代碼如下:

            var a int = 0
            LOOP: for a<5 {
            	if a == 2 {
            		a = a+1
            		goto LOOP
            	}
            	fmt.Printf("%d\n", a)
            	a++
            }
            
            /*
            output:
            0
            1
            2
            3
            4
            */

            以上代碼中的LOOP就是一個標簽,當運行到goto語句的時候,此時執(zhí)行流就會跳轉(zhuǎn)到LOOP標志的哪一行上。

            讀到這里,這篇“golang流程控制語句怎么使用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

            分享題目:golang流程控制語句怎么使用
            網(wǎng)站URL:http://www.jbt999.com/article4/psppoe.html

            成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、網(wǎng)站導(dǎo)航、Google、云服務(wù)器、ChatGPT

            廣告

            聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

            成都定制網(wǎng)站網(wǎng)頁設(shè)計

              <del id="d4fwx"><form id="d4fwx"></form></del>
              <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

                    <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
                  • 美女操逼免费看 | 日皮视频在线免费观看 | 免费在线观看内射 | 亚洲欧洲在线免费 | 五十路老熟女 码视频 |