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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    go里面的*int类似这样指的是什么?
    27
    0
    package mainimport "fmt"type Employee struct { Id string Name string Age int}func main() { e := Employee{"0", "P1", 33} eNewed := new(Employee) // new返回的是一个指针 eNewed.Id = "1" fmt.Printf("e: %T\n", e) // e: main.Employee 类型是一个E fmt.Printf("e: %T\n", eNewed) // 输出: e: *main.Employee <--- 这里为什么前置有个*星号}我的疑问是:*号在我看来是取指针地址的值,这里的放在一个类型前面表示的是什么?
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ◆◇、佑手边幸福 普通会员 1楼

      在Go语言中,*int是一个别名,表示指向一个int类型的指针。它的功能类似于JavaScript中的var变量,用于临时存储int类型的值。

      例如:

      go var num int = 10 *num // 这里就是指向num的指针

      这里的*num实际上是将num的值临时赋值给一个int类型的指针。如果num的值没有发生变化,那么*num指向的int变量的值就是num的值,如果num的值发生了改变,那么*num指向的int变量的值就是num的值的修改后的值。

      需要注意的是,*int不能在Go语言中用来直接进行计算,因为Go语言是单线程语言,每次只有一个函数或方法可以修改一个变量的值,*int是不允许在Go语言中使用的。

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