<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                **問題描述** 使用兩個`goroutine`交替打印序列,一個`goroutine`打印數字, 另外一個`goroutine`打印字母, 最終效果如下: ~~~shell 12AB34CD56EF78GH910IJ1112KL1314MN1516OP1718QR1920ST2122UV2324WX2526YZ2728 ~~~ **解題思路** 問題很簡單,使用 channel 來控制打印的進度。使用兩個 channel ,來分別控制數字和字母的打印序列, 數字打印完成后通過 channel 通知字母打印, 字母打印完成后通知數字打印,然后周而復始的工作。 **源碼參考** ~~~ letter,number := make(chan bool),make(chan bool) wait := sync.WaitGroup{} go func() { i := 1 for { select { case <-number: fmt.Print(i) i++ fmt.Print(i) i++ letter <- true break default: break } } }() wait.Add(1) go func(wait *sync.WaitGroup) { str := "ABCDEFGHIJKLMNOPQRSTUVWXYZ" i := 0 for{ select { case <-letter: if i >= strings.Count(str,"")-1 { wait.Done() return } fmt.Print(str[i:i+1]) i++ if i >= strings.Count(str,"") { i = 0 } fmt.Print(str[i:i+1]) i++ number <- true break default: break } } }(&wait) number<-true wait.Wait() ~~~ **源碼解析** 這里用到了兩個`channel`負責通知,letter 負責通知打印字母的 goroutine 來打印字母,number 用來通知打印數字的 goroutine 打印數字。 wait 用來等待字母打印完成后退出循環。
                  <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>

                              哎呀哎呀视频在线观看