我在一个包中有一些结构,它们进行简单的财务API调用,一个实现对API的请求,一个存储响应。
我想知道是否适合命名结构"请求"和#34;响应"分别,或者我应该在主题/包装上加上前缀" FinanceRequest"和" FinanceResponse"?或者通过使用finance.FinanceRequest(财务词使用两次)使外部调用多余?
寻找关于此事的想法(golang惯例/偏好)......
样品:
package finance
type Request struct {
//...
}
type Response struct {
//...
}
func DoSomething(r *Request) (*Response, error) {
//...
}
或
package finance
type FinanceRequest struct {
//...
}
type FinanceResponse struct {
//...
}
func DoSomething(r *FinanceRequest) (*FinanceResponse, error) {
//...
}
答案 0 :(得分:7)
惯例是使用请求和响应。这是Effective Go所说的内容:
包的导入器将使用该名称来引用其内容,因此包中的导出名称可以使用该事实来避免口吃。 (不要使用import。表示法,它可以简化必须在他们正在测试的包之外运行的测试,但是否则应该避免。)例如,bufio包中的缓冲读取器类型称为Reader,而不是BufReader ,因为用户将其视为bufio.Reader,这是一个清晰,简洁的名称。此外,由于导入的实体始终使用其包名称进行寻址,因此bufio.Reader不会与io.Reader冲突。
关于名称FinanceRequest和FinanceResponse的golint工具will complain。