我正在设计一个界面并想知道,更恰当的方式是什么:
func GetUser(id string) (*User, error)
或
func GetUser(id string, u *User) error
答案 0 :(得分:7)
取决于预期目的。
如果目的是 - 给定标识符 - 获取信息
关于用户并填写用户提供的变量(适当类型)
有了那些信息,那就是这样的
func GetUser(id string, u *User) error
。
如果目的是获取该信息并创建新值
(包含该信息的适当类型)并将其返回
(或 - 在你的情况下 - 指向它的指针)给用户,然后就是这种情况
func GetUser(id string) (*User, error)
。
所以,最后,它并不是要比较“惯用因素” 两个解决方案他们捕捉到不同的方式来处理获得的 数据