什么是更惯用的去?

时间:2018-02-07 14:14:00

标签: go interface

我正在设计一个界面并想知道,更恰当的方式是什么:

func GetUser(id string) (*User, error)

func GetUser(id string, u *User) error

1 个答案:

答案 0 :(得分:7)

取决于预期目的。

如果目的是 - 给定标识符 - 获取信息 关于用户并填写用户提供的变量(适当类型) 有了那些信息,那就是这样的 func GetUser(id string, u *User) error

如果目的是获取该信息并创建新值 (包含该信息的适当类型)并将其返回 (或 - 在你的情况下 - 指向它的指针)给用户,然后就是这种情况 func GetUser(id string) (*User, error)

所以,最后,它并不是要比较“惯用因素” 两个解决方案他们捕捉到不同的方式来处理获得的 数据