Post

编译期间类型检查

如何在编写代码时就发现结构体是否实现某个接口呢?为了方便我们在编写代码时就能发现错误,Go语言提供了编译期间的类型检查。我们可以通过一个简单的技巧来实现这一点。

1
2
3
4
5
6
7
type MyInterface interface {
    MyMethod()
}

type MyStruct struct{}

var _ MyInterface = (*MyStruct)(nil)

在上面的代码中,我们定义了一个接口 MyInterface 和一个结构体 MyStruct。接下来,我们使用 var _ MyInterface = (*MyStruct)(nil) 这行代码来进行类型检查。这样在没有实现全部接口方法之前,编译器都会报错,实现编译期间类型检查的功能。

This post is licensed under CC BY 4.0 by the author.