type Product struct {
productName string
}
func (p *Product) GetProductName() string {
return p.productName
}
在 Go 中,通常应该如何处理方法的接收者为 nil 并且方法逻辑本身不会产生错误(例如 getter)的情况?
不要处理它,让它恐慌
检查 nil,如果为真则返回零值
使用有意义的消息检查 nil 和 panic
检查 nil 并增强在 nil 上返回错误的方法
其他
这真的取决于
我倾向于#1,但认为虽然#3 有点冗长,但它可以使调试更容易。我的想法是调用代码应该测试 nil 并且知道在这种情况下该怎么做。在简单的 getter 方法上返回错误太冗长了。
撒科打诨
相关分类