1. <li id="5jrs3"><ins id="5jrs3"></ins></li>
    <li id="5jrs3"></li>

    <dl id="5jrs3"></dl>
        <dl id="5jrs3"><ins id="5jrs3"></ins></dl>

        <dl id="5jrs3"><ins id="5jrs3"></ins></dl>

      1. <dl id="5jrs3"><ins id="5jrs3"></ins></dl>

          1. <dl id="5jrs3"></dl>
          2. <li id="5jrs3"><ins id="5jrs3"></ins></li>
            1. <dl id="5jrs3"><ins id="5jrs3"></ins></dl>
              <dl id="5jrs3"></dl>
              <dl id="5jrs3"><ins id="5jrs3"><thead id="5jrs3"></thead></ins></dl>
              400-700-1307

              【GO+区块链面试题】考点foreach

              2019-01-26 17:05
              以下代码有什么问题,说明原因。
               
              1.type student struct {
              2.Name string
              3.Age  int
              4.}
              5.func pase_student() {
              6.m := make(map[string]*student)
              7.stus := []student{
              8.{Name: "zhou", Age: 24},
              9.{Name: "li", Age: 23},
              10.{Name: "wang", Age: 22},
              11.}
              12.for _, stu := range stus {
              13.m[stu.Name] = &stu
              14.}
              15.}
              考点:foreach
              解答:
              这样的写法初学者经常会遇到的,很危险! 与Java的foreach一样,都是使用副本的方式。所以m[stu.Name]=&stu实际上一致指向同一个指针, 最终该指针的值为遍历的最后一个struct的值拷贝。 就像想修改切片元素的属性:
               
              1.for _, stu := range stus {
              2.stu.Age = stu.Age+10
              3.}
              也是不可行的。 大家可以试试打印出来:

               
              1.func pase_student() {
              2.m := make(map[string]*student)
              3.stus := []student{
              4.{Name: "zhou", Age: 24},
              5.{Name: "li", Age: 23},
              6.{Name: "wang", Age: 22},
              7.}
              8.// 错误写法
              9.for _, stu := range stus {
              10.m[stu.Name] = &stu
              11.}
              12.for k,v:=range m{
              13.println(k,"=>",v.Name)
              14.}
              15.// 正确
              16.for i:=0;i<len(stus);i++  {
              17.m[stus[i].Name] = &stus[i]
              18.}
              19.for k,v:=range m{
              20.println(k,"=>",v.Name)
              21.}
              22.}
              关注?#20540;?#36830;更多精彩内容等着你

              开班信息

              当前校区

              ?#26412;?#26657;区
              • ?#26412;?#26657;区
              • 上海校区
              • 广州校区
              • 沈阳校区
              • 杭州校区
              • 南京校区
              • 郑州校区
              • 成都校区
              • 深圳校区
              • 西安校区
              • 苏州校区
              • 深圳沙井
              • 深圳观澜
              • 深圳龙岗
              • 武汉校区
              • 西宁校区
              • 石家庄校区
              • 湖北咸宁
              • 广东惠州
              • 广东佛山
              • ?#26412;?/span> UI/UE就业班 2019-04-17 报名中
              • ?#26412;?/span> PHP就业班 2019-04-18 报名中
              • ?#26412;?/span> Java训练营 2019-04-24 报名中
              • ?#26412;?/span> Python训练营 2019-04-24 报名中
              • ?#26412;?/span> Java就业班 2019-05-09 报名中
              • ?#26412;?/span> Python就业班 2019-05-09 报名中
              • ?#26412;?/span> PHP就业班 2019-05-16 报名中

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

                                1. <li id="5jrs3"><ins id="5jrs3"></ins></li>
                                  <li id="5jrs3"></li>

                                  <dl id="5jrs3"></dl>
                                      <dl id="5jrs3"><ins id="5jrs3"></ins></dl>

                                      <dl id="5jrs3"><ins id="5jrs3"></ins></dl>

                                    1. <dl id="5jrs3"><ins id="5jrs3"></ins></dl>

                                        1. <dl id="5jrs3"></dl>
                                        2. <li id="5jrs3"><ins id="5jrs3"></ins></li>
                                          1. <dl id="5jrs3"><ins id="5jrs3"></ins></dl>
                                            <dl id="5jrs3"></dl>
                                            <dl id="5jrs3"><ins id="5jrs3"><thead id="5jrs3"></thead></ins></dl>
                                            快乐十分钟开奖号码
                                            1. <li id="5jrs3"><ins id="5jrs3"></ins></li>
                                              <li id="5jrs3"></li>

                                              <dl id="5jrs3"></dl>
                                                  <dl id="5jrs3"><ins id="5jrs3"></ins></dl>

                                                  <dl id="5jrs3"><ins id="5jrs3"></ins></dl>

                                                1. <dl id="5jrs3"><ins id="5jrs3"></ins></dl>

                                                    1. <dl id="5jrs3"></dl>
                                                    2. <li id="5jrs3"><ins id="5jrs3"></ins></li>
                                                      1. <dl id="5jrs3"><ins id="5jrs3"></ins></dl>
                                                        <dl id="5jrs3"></dl>
                                                        <dl id="5jrs3"><ins id="5jrs3"><thead id="5jrs3"></thead></ins></dl>
                                                        1. <li id="5jrs3"><ins id="5jrs3"></ins></li>
                                                          <li id="5jrs3"></li>

                                                          <dl id="5jrs3"></dl>
                                                              <dl id="5jrs3"><ins id="5jrs3"></ins></dl>

                                                              <dl id="5jrs3"><ins id="5jrs3"></ins></dl>

                                                            1. <dl id="5jrs3"><ins id="5jrs3"></ins></dl>

                                                                1. <dl id="5jrs3"></dl>
                                                                2. <li id="5jrs3"><ins id="5jrs3"></ins></li>
                                                                  1. <dl id="5jrs3"><ins id="5jrs3"></ins></dl>
                                                                    <dl id="5jrs3"></dl>
                                                                    <dl id="5jrs3"><ins id="5jrs3"><thead id="5jrs3"></thead></ins></dl>