最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

golang跳轉(zhuǎn)語句goto,break,continue的使用及區(qū)別說明

 更新時(shí)間:2020年12月15日 10:46:39   作者:誠寜  
這篇文章主要介紹了golang跳轉(zhuǎn)語句goto,break,continue的使用及區(qū)別說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

goto

goto語句可以無條件地轉(zhuǎn)移到過程中指定的行。

通常與條件語句配合使用??捎脕韺?shí)現(xiàn)條件轉(zhuǎn)移, 構(gòu)成循環(huán),跳出循環(huán)體等功能。

在結(jié)構(gòu)化程序設(shè)計(jì)中一般不主張使用goto語句, 以免造成程序流程的混亂

goto對應(yīng)(標(biāo)簽)既可以定義在for循環(huán)前面,也可以定義在for循環(huán)后面,當(dāng)跳轉(zhuǎn)到標(biāo)簽地方時(shí),繼續(xù)執(zhí)行標(biāo)簽下面的代碼。

func main() {
 // 放在for前面,此例會(huì)一直循環(huán)下去
 Loop:
 fmt.Println("test")
 for a:=0;a<5;a++{
  fmt.Println(a)
  if a>3{
   goto Loop
  }
 }
}
func main() {
 for a:=0;a<5;a++{
  fmt.Println(a)
  if a>3{
   goto Loop
  }
 }
 Loop:   //放在for后邊
 fmt.Println("test")
}

break

func main() {
 Loop:
 for j:=0;j<3;j++{
  fmt.Println(j)
  for a:=0;a<5;a++{
   fmt.Println(a)
   if a>3{
    break Loop
   }
  }
 }
}
//在沒有使用loop標(biāo)簽的時(shí)候break只是跳出了第一層for循環(huán)
//使用標(biāo)簽后跳出到指定的標(biāo)簽,break只能跳出到之前,如果將Loop標(biāo)簽放在后邊則會(huì)報(bào)錯(cuò)
//break標(biāo)簽只能用于for循環(huán),跳出后不再執(zhí)行標(biāo)簽對應(yīng)的for循環(huán) 

continue

continue和標(biāo)簽的使用類似于break,這里不再詳述

總結(jié)

goto語句本身就是做跳轉(zhuǎn)用的,而break和continue是配合for使用的。所以goto的使用不限于for,通常與條件語句配合使用

在for循環(huán)中break和continue可以配合標(biāo)簽使用。

補(bǔ)充:golang 實(shí)現(xiàn)Location跳轉(zhuǎn)

golang作為互聯(lián)網(wǎng)時(shí)代的C語言,對網(wǎng)絡(luò)的支持是非常友好的,最近想做個(gè)短網(wǎng)址轉(zhuǎn)發(fā)使用,自然想到用Golang開發(fā)。

閑話少說,直接上源碼:

package main
 
import (
 "fmt"
 "log"
 "net/http"
) 
func login(w http.ResponseWriter, r *http.Request) {
 fmt.Print(fmt.Sprintf("%v+", r))
 w.Header().Set("Cache-Control", "must-revalidate, no-store")
 w.Header().Set("Content-Type", " text/html;charset=UTF-8")
 w.Header().Set("Location", "http://wap.baidu.com/")//跳轉(zhuǎn)地址設(shè)置
 w.WriteHeader(307)//關(guān)鍵在這里!
}
func main() {
 http.HandleFunc("/", login)    //設(shè)置訪問的路由
 err := http.ListenAndServe(":9090", nil) //設(shè)置監(jiān)聽的端口
 if err != nil {
 log.Fatal("ListenAndServe: ", err)
 }
} 

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • 使用golang腳本基于kubeadm創(chuàng)建新的token(問題分析)

    使用golang腳本基于kubeadm創(chuàng)建新的token(問題分析)

    這篇文章主要介紹了使用golang腳本基于kubeadm創(chuàng)建新的token(問題分析),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-10-10
  • Go語言使用GORM操作數(shù)據(jù)庫使用指南

    Go語言使用GORM操作數(shù)據(jù)庫使用指南

    GORM(全稱為Go?Object?Relational?Mapping)是一個(gè)在Go語言中使用的輕量級的對象關(guān)系映射(ORM)庫,本文主要為大家介紹了GORM操作數(shù)據(jù)庫具體方法,需要的可以參考一下
    2023-05-05
  • golang使用DockerFile正確用法指南

    golang使用DockerFile正確用法指南

    docker在開發(fā)和運(yùn)維中使用的場景越來越多,作為開發(fā)人員非常有必要了解一些docker的基本知識(shí),而離我們工作中最近的也就是對應(yīng)用的docker部署編排了,這篇文章主要給大家介紹了關(guān)于golang使用DockerFile的正確用法指南,需要的朋友可以參考下
    2024-03-03
  • Go語言字符串及strings和strconv包使用實(shí)例

    Go語言字符串及strings和strconv包使用實(shí)例

    字符串是工作中最常用的,值得我們專門的練習(xí)一下,下面這篇文章主要給大家介紹了關(guān)于Go語言字符串及strings和strconv包使用的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • 詳解Go語言運(yùn)用廣度優(yōu)先搜索走迷宮

    詳解Go語言運(yùn)用廣度優(yōu)先搜索走迷宮

    廣度優(yōu)先搜索是從圖中的某一頂點(diǎn)出發(fā),遍歷每一個(gè)頂點(diǎn)時(shí),依次遍歷其所有的鄰接點(diǎn),再從這些鄰接點(diǎn)出發(fā),依次訪問它們的鄰接點(diǎn),直到圖中所有被訪問過的頂點(diǎn)的鄰接點(diǎn)都被訪問到。然后查看圖中是否存在尚未被訪問的頂點(diǎn),若有,則以該頂點(diǎn)為起始點(diǎn),重復(fù)上述遍歷的過程
    2021-06-06
  • Go項(xiàng)目實(shí)現(xiàn)優(yōu)雅關(guān)機(jī)與平滑重啟功能

    Go項(xiàng)目實(shí)現(xiàn)優(yōu)雅關(guān)機(jī)與平滑重啟功能

    無論是優(yōu)雅關(guān)機(jī)還是優(yōu)雅重啟歸根結(jié)底都是通過監(jiān)聽特定系統(tǒng)信號(hào),然后執(zhí)行一定的邏輯處理保障當(dāng)前系統(tǒng)正在處理的請求被正常處理后再關(guān)閉當(dāng)前進(jìn)程,這篇文章主要介紹了Go實(shí)現(xiàn)優(yōu)雅關(guān)機(jī)與平滑重啟 ,需要的朋友可以參考下
    2022-10-10
  • Go 實(shí)現(xiàn)基于Token 的登錄流程深度分析

    Go 實(shí)現(xiàn)基于Token 的登錄流程深度分析

    Token 認(rèn)證機(jī)制的核心思想是,服務(wù)端在用戶登錄時(shí)生成一個(gè) Token,客戶端在后續(xù)的請求中攜帶這個(gè) Token,服務(wù)端通過驗(yàn)證 Token 的有效性來確認(rèn)用戶的身份,本文將帶你深入探索基于 Token 的登錄流程,這是一種更為靈活且適用于現(xiàn)代應(yīng)用架構(gòu)的認(rèn)證方式
    2024-03-03
  • GoLang中Module的基本使用方法

    GoLang中Module的基本使用方法

    Go module是從Go 1.11版本才引入的新功能,下面這篇文章主要給大家介紹了關(guān)于GoLang中Module的基本使用方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • 淺析go語言如何實(shí)現(xiàn)協(xié)程的搶占式調(diào)度的

    淺析go語言如何實(shí)現(xiàn)協(xié)程的搶占式調(diào)度的

    go語言通過GMP模型實(shí)現(xiàn)協(xié)程并發(fā),為了避免單協(xié)程持續(xù)持有線程導(dǎo)致線程隊(duì)列中的其他協(xié)程饑餓問題,設(shè)計(jì)者提出了一個(gè)搶占式調(diào)度機(jī)制,本文會(huì)基于一個(gè)簡單的代碼示例對搶占式調(diào)度過程進(jìn)行深入講解剖析
    2024-04-04
  • GoLang sync.Pool簡介與用法

    GoLang sync.Pool簡介與用法

    這篇文章主要介紹了GoLang sync.Pool簡介與用法,Pool是可伸縮、并發(fā)安全的臨時(shí)對象池,用來存放已經(jīng)分配但暫時(shí)不用的臨時(shí)對象,通過對象重用機(jī)制,緩解GC壓力,提高程序性能
    2023-01-01

最新評論

新泰市| 琼中| 五原县| 博湖县| 长岛县| 广德县| 寻甸| 平阳县| 镇原县| 文山县| 卫辉市| 莱芜市| 西乌珠穆沁旗| 十堰市| 察隅县| 宾川县| 丹阳市| 彭阳县| 玛曲县| 兰坪| 深泽县| 光山县| 中卫市| 根河市| 弥勒县| 晋城| 交城县| 泸州市| 五常市| 双鸭山市| 东乌| 泰来县| 黑河市| 镶黄旗| 巫山县| 米易县| 江油市| 平舆县| 南通市| 调兵山市| 乐亭县|