<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ## sync包 1. sync.WaitGroup ### 1.1主要使用 ~~~ var wg sync.WaitGroup wg.Add(1) wg.Done() wg.Wait() ~~~ ### 2.1 使用詳情 ~~~ package api import ( "fmt" "github.com/gin-gonic/gin" "sync" "time" ) var wg sync.WaitGroup type IndexController struct { BaseController } func (index IndexController) Index (ctx *gin.Context) { wg.Add(1) //2 協程添加標記 go channel() // 1 開啟一個協程 wg.Add(1) go channel2() data := make(map[string]interface{}) data["msg"] = "success" wg.Wait() //4 等待子協程執行完成 index.successMsg(ctx,data,"") } func channel() { for i := 0;i<5;i++ { time.Sleep(time.Millisecond*1000) fmt.Println(i) } wg.Done()// 3 協程執行完成 } func channel2() { for i := 0;i<5;i++ { time.Sleep(time.Millisecond*1000) fmt.Println(i) } wg.Done()// 3 協程執行完成 } ~~~ 3 捕捉協程中的錯誤 ``` defer func(){ if err := recover(); err != nil{ fmt.Println("捕捉到了異常",err) } } ``` ![](https://img.kancloud.cn/23/32/2332f6eca96390fa3348f783f499e38f_665x386.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看