4.接口技巧
最后更新于:2022-04-02 04:44:44
Golang 接口技巧 :
让编译器检查,以确保某个类型实现接口。
~~~
var _ fmt.Stringer = (*Data)(nil)
~~~
~~~
package main
import "fmt"
type Data struct {
id int
name string
}
func (self *Data) String() string {
return fmt.Sprintf("%d, %s", self.id, self.name)
}
func main() {
var _ fmt.Stringer = (*Data)(nil)
}
~~~
某些时候,让函数直接 "实现" 接口能省不少事。
~~~
package main
type Tester interface {
Do()
}
type FuncDo func()
func (self FuncDo) Do() { self() }
func main() {
var t Tester = FuncDo(func() { println("Hello, World!") })
t.Do()
}
~~~
输出结果:
~~~
Hello, World!
~~~
';