- 43
- 0
如下代码,不知道区别是什么!
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方法使用指针与不使用指针的区别主要体现在以下几个方面:
-
定义类型:在Go语言中,没有默认的类型。因此,如果你直接创建一个struct类型,你需要为它指定具体的类型。使用指针可以使类型更加清晰和易于理解。
-
动态内存分配:在Go语言中,如果你直接使用new关键字创建一个struct对象,那么这将需要你为该对象分配动态内存。如果你使用指针,那么在内存分配上就可以更加灵活和方便。
-
动态类型转换:在Go语言中,如果你使用指针,那么你可以通过解引用指针来实现类型转换。如果你直接使用new关键字创建一个struct对象,那么你需要手动进行类型转换。
-
函数参数:在Go语言中,函数参数需要指定类型。使用指针可以使函数参数更加清晰和易于理解。
-
函数返回值:在Go语言中,函数返回值可以使用返回值类型。使用指针可以使函数返回值更加清晰和易于理解。
总的来说,使用指针可以使结构方法更加清晰和易于理解,但也需要更多的注意和考虑。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

