当您使用您不想实现的方法定义接口时,Golang中是否存在等效于在Python中引发NotImplementedException
的内容?这是一个惯用的Golang吗?
例如:
type MyInterface interface {
Method1() bool
Method2() bool
}
// Implement this interface
type Thing struct {}
func (t *Thing) Method1() bool {
return true
}
func (t *Thing) Method2() bool {
// I don't want to implement this yet
}
答案 0 :(得分:2)
通常在golang中如果要实现错误处理,则返回错误
type MyInterface interface {
Method1() bool
Method2() (bool, error)
}
然后您可以返回错误。 你也可以记录或恐慌@coredump在评论中说。
答案 1 :(得分:1)
这是 Go 中的一种常见模式,如果失败,您将返回结果或错误。
npm i react-native-multiple-select
答案 2 :(得分:0)
空var将执行此操作
SELECT a.itemsid,a.category,a.condition,a.description,a.name,a.seek,a.picture,a.conditionS,a.categoryS,a.studentid
FROM items a
INNER JOIN items b
ON a.name = b.seek
AND b.name = a.seek
WHERE a.name ='database' and b.name='java'
如果var _ MyInterface = &Thing{}
未实现接口Thing
,则编译将失败
答案 3 :(得分:0)
以下是我在Go中实现gRPC生成的示例:
import (
status "google.golang.org/grpc/status"
)
// . . .
// UnimplementedInstanceControlServer can be embedded to have forward compatible implementations.
type UnimplementedInstanceControlServer struct {
}
func (*UnimplementedInstanceControlServer) HealthCheck(ctx context.Context, req *empty.Empty) (*HealthCheckResult, error) {
return nil, status.Errorf(codes.Unimplemented, "method HealthCheck not implemented")
}
或者,您可以在方法内部记录错误,然后返回nil以满足方法协定。
答案 4 :(得分:0)
func someFunc() {
panic("someFunc not implemented")
}