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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    go struct 方法使用指针与不使用指针的区别?
    43
    0
    1. 如下代码,不知道区别是什么!

     type User struct {
         username string 
     }
    
     func (u User) SetUsername1(username string){
        u.username = username ;
     }
    
     func (u *User) SetUsername2(username string){
        u.username = username ;
     }
     

    这里 申明方法的时候使用 u User 与使用 u *User 的区别是什么?以及使用注意事项?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 大扎女神@ 普通会员 1楼

      在Go语言中,struct方法使用指针与不使用指针的区别主要体现在以下几个方面:

      1. 定义类型:在Go语言中,没有默认的类型。因此,如果你直接创建一个struct类型,你需要为它指定具体的类型。使用指针可以使类型更加清晰和易于理解。

      2. 动态内存分配:在Go语言中,如果你直接使用new关键字创建一个struct对象,那么这将需要你为该对象分配动态内存。如果你使用指针,那么在内存分配上就可以更加灵活和方便。

      3. 动态类型转换:在Go语言中,如果你使用指针,那么你可以通过解引用指针来实现类型转换。如果你直接使用new关键字创建一个struct对象,那么你需要手动进行类型转换。

      4. 函数参数:在Go语言中,函数参数需要指定类型。使用指针可以使函数参数更加清晰和易于理解。

      5. 函数返回值:在Go语言中,函数返回值可以使用返回值类型。使用指针可以使函数返回值更加清晰和易于理解。

      总的来说,使用指针可以使结构方法更加清晰和易于理解,但也需要更多的注意和考虑。

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