<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      golang 值方法和指針方法

      一段示例代碼

      package main
      
      type info struct {
      	Name string
      	Hp   uint32
      	Mp   uint32
      }
      
      // 值方法
      func (my info) PrintName() {
      	println(my.Name)
      	println(my.Name)
      }
      
      // 指針方法
      func (my *info) PrintName2() {
      	println(my.Name)
      	println(my.Name)
      }
      
      func main() {
      	var i = info{
      		Name: "abc",
      		Hp:   1,
      		Mp:   2,
      	}
      
      	(&i).PrintName2()
      	i.PrintName()
      }
      

      如果你需要在方法中修改接收者,則必須使用指針方法。因為值方法是拷貝的一份副本


      debug

      # dlv debug .
      
      在28行打個斷點
      (dlv) b main.go:28
      Breakpoint 1 set at 0x45b6a7 for main.main() ./main.go:28
      
      
      執行到下一個斷點
      (dlv) c
      > main.main() ./main.go:28 (hits goroutine(1):1 total:1) (PC: 0x45b6a7)
          23:                 Name: "abc",
          24:                 Hp:   1,
          25:                 Mp:   2,
          26:         }
          27:
      =>  28:         (&i).PrintName2()
          29:         i.PrintName()
          30: }
      
      查看i的地址
      (dlv) print &i
      (*main.info)(0xc00004e758)
      
      
      查看指針下的數據: 0x0000000000467a10 Name的數據地址, 0x0000000000000003 Name的長度, 0x0000000200000001 四字節的Hp和Mp
      (dlv) x -len 3 -size 8 -x 0xc00004e758
      0xc00004e758:   0x0000000000467a10   0x0000000000000003   0x0000000200000001 
      
      查看Name的數據
      (dlv) x -len 3 -x 0x0000000000467a10
      0x467a10:   0x61   0x62   0x63
      
      三次步進到 PrintName2 函數
      (dlv) s
      (dlv) s
      (dlv) s
      (dlv) ls
      > main.(*info).PrintName2() ./main.go:18 (PC: 0x45b5ef)
          13: }
          14:
          15: // 指針方法
          16: func (my *info) PrintName2() {
          17:         println(my.Name)
      =>  18:         println(my.Name)
          19: }
          20:
          21: func main() {
          22:         var i = info{
          23:                 Name: "abc",
      
      
      查看 my 的地址
      (dlv) print &my
      (**main.info)(0xc00004e740)
      
      
      查看 my 地址下的數據 0x000000c00004e758 是指向 i 數據的指針
      (dlv) x -len 2 -size 8 0xc00004e740
      0xc00004e740:   0x000000c00004e758   0x000000c00004e701
      
      
      跳出函數
      (dlv) so
      abc
      > main.main() ./main.go:29 (PC: 0x45b6b1)
      Values returned:
      
          24:                 Hp:   1,
          25:                 Mp:   2,
          26:         }
          27:
          28:         (&i).PrintName2()
      =>  29:         i.PrintName()
          30: }
      
      
      三次步進到 PrintName 函數
      (dlv) s
      (dlv) s
      (dlv) s
      (dlv) ls
      > main.info.PrintName() ./main.go:12 (PC: 0x45b51e)
           7: }
           8:
           9: // 值方法
          10: func (my info) PrintName() {
          11:         println(my.Name)
      =>  12:         println(my.Name)
          13: }
          14:
          15: // 指針方法
          16: func (my *info) PrintName2() {
          17:         println(my.Name)
      
      查看 my 的地址
      (dlv) print &my
      (*main.info)(0xc00004e740)
      
      查看 my 地址下的數據,數據被拷貝了一份在這里
      (dlv) x -len 3 -size 8 -x 0xc00004e740
      0xc00004e740:   0x0000000000467a10   0x0000000000000003   0x0000000200000001
      
      
      退出調試
      (dlv) exit
      
      posted @ 2022-11-23 21:51  Ajanuw  閱讀(113)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 久久久亚洲欧洲日产国码606| 久久午夜无码免费| av老司机亚洲精品天堂| 久久国产乱子伦免费精品| 日本久久一区二区免高清| 开鲁县| 中文字幕结果国产精品| 成人3D动漫一区二区三区 | 国产精一区二区黑人巨大| 国产精品av免费观看| 厦门市| 国产肥臀视频一区二区三区| 中文字幕亚洲资源网久久| 无码成人精品区在线观看| 亚洲情A成黄在线观看动漫尤物| 91福利国产午夜亚洲精品| 精品国产肉丝袜在线拍国语| 国产91丝袜在线观看| 风骚少妇久久精品在线观看| 国产成人综合久久精品下载| 日韩V欧美V中文在线| 一个人免费观看WWW在线视频| 国产迷姦播放在线观看| 亚洲精品男男一区二区| 精品一区二区久久久久久久网站| 亚洲性线免费观看视频成熟| 又白又嫩毛又多15p| 日本一区二区中文字幕久久| 亚洲av无码精品色午夜蛋壳| 国产精品无码免费播放| 欧洲精品码一区二区三区| 粉嫩一区二区三区粉嫩视频| 国产自在自线午夜精品| 亚洲男人天堂2018| 亚洲人成人一区二区三区| 亚洲精品av一二三区无码| 又黄又刺激又黄又舒服| 亚洲一区二区国产av| 91青青草视频在线观看| 亚洲鸥美日韩精品久久| 中文字幕日韩有码国产|