<sup id="6nyre"></sup>

<em id="6nyre"></em>
<div id="6nyre"><ol id="6nyre"></ol></div>

  • <nav id="6nyre"><sub id="6nyre"><source id="6nyre"></source></sub></nav>

    <em id="6nyre"><label id="6nyre"><object id="6nyre"></object></label></em>

      <div id="6nyre"></div>
        <div id="6nyre"></div>
        1. 400-700-1307

          【GO+区块链面试题】go执行的随机?#38498;?#38381;包

          2019-01-26 17:05
          下面的代码会输出什么,并说明原因
           
          1.func main() {
          2.runtime.GOMAXPROCS(1)
          3.wg := sync.WaitGroup{}
          4.wg.Add(20)
          5.for i := 0; i < 10; i++ {
          6.go func() {
          7.fmt.Println("A: ", i)
          8.wg.Done()
          9.}()
          10.}
          11.for i := 0; i < 10; i++ {
          12.go func(i int) {
          13.fmt.Println("B: ", i)
          14.wg.Done()
          15.}(i)
          16.}
          17.wg.Wait()
          18.}
          考点:go执行的随机?#38498;?#38381;包
          解答:
          谁也不知道执行后打印的?#25215;?#26159;什么样的,所以只能说是随机数字。 但是A:均为输出10,B:从0~9输出(?#25215;?#19981;定)。 第一个go func中i是外部for的一个变量,地址不变化。遍历完成后,最终i=10。 故go func执行?#20445;琲的值始终是10。
          第二个go func中i是函数参数,与外部for中的i完全是两个变量。 尾部(i)将发生值拷贝,go func内部指向值拷贝地址。

          开班信息

          当前校区

          ?#26412;?#26657;区
          • ?#26412;?#26657;区
          • 上海校区
          • 广州校区
          • 沈阳校区
          • 杭州校区
          • 南京校区
          • 郑州校区
          • 成都校区
          • 深圳校区
          • 西安校区
          • 苏州校区
          • ?#26412;?/span> PHP就业班 2019-03-06 报名中
          • ?#26412;?/span> Python就业班 2019-03-06 报名中
          • ?#26412;?/span> UI/UE就业班 2019-03-21 报名中
          • ?#26412;?/span> 区块链就业班 2019-03-21 报名中
          • ?#26412;?/span> Python训练营 2019-03-21 报名中
          • ?#26412;?/span> Java训练营 2019-03-21 报名中
          • ?#26412;?/span> Java就业班 2019-04-10 报名中

          Copyright © 2007-2019 IT?#20540;?#36830;教育 版权所有 京ICP备11018177号  京公网安备 11010802026987号

          11选5 直播
          <sup id="6nyre"></sup>

          <em id="6nyre"></em>
          <div id="6nyre"><ol id="6nyre"></ol></div>

        2. <nav id="6nyre"><sub id="6nyre"><source id="6nyre"></source></sub></nav>

          <em id="6nyre"><label id="6nyre"><object id="6nyre"></object></label></em>

            <div id="6nyre"></div>
              <div id="6nyre"></div>
              1. <sup id="6nyre"></sup>

                <em id="6nyre"></em>
                <div id="6nyre"><ol id="6nyre"></ol></div>

              2. <nav id="6nyre"><sub id="6nyre"><source id="6nyre"></source></sub></nav>

                <em id="6nyre"><label id="6nyre"><object id="6nyre"></object></label></em>

                  <div id="6nyre"></div>
                    <div id="6nyre"></div>