账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    为什么说 golang 编译器并不是总能获取到值的地址
    59
    0

    如题 :golang 编译器并不是总能获取到值的地址

    
    type Integer int 
    
    func (i *Integer) pretty(){
     
    }
    
    Integer(25).pretty()//运行错误,无法找到指针
    

    请教给位 ,为什么这样说,什么情况下找不到指针,原理是什么

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 花语十 普通会员 1楼

      在 Go 语言中,Go 语言的编译器是通过生成汇编代码来编译的。汇编代码可以提供直接访问机器内存的地址,因此编译器可以通过汇编代码直接访问 Go 语言的变量和结构体的值。

      但是,如果 Go 语言的变量或结构体在运行时改变了,那么编译器可能无法通过汇编代码访问这些新的值。这是因为在运行时,编译器需要了解当前的变量或结构体的状态才能确定如何使用它们。

      因此,Go 语言的编译器并不是总能获取到值的地址。但是,Go 语言的编译器在编译时会尽可能地避免这种问题,因为它会尽可能地在编译时确定变量或结构体的值。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部