go 接口
原创
©著作权归作者所有:来自51CTO博客作者富坚老贼的原创作品,请联系作者获取转载授权,否则将追究法律责任
1.基础
接口命名一般在最后加 er
package main
//计算
type calculationer interface {
work(i int, j int) int
}
//加法结构体
type add struct {
}
func (c add) work(i int, j int) int {
return i + j
}
//减法结构体
type sub struct {
i int
j int
}
func (s sub) work(i int, j int) int {
return i - j
}
func main() {
var calcu calculationer
add1 := add{}
calcu = add1
println(calcu.work(3, 5))
sub1 := sub{}
calcu = sub1
println(calcu.work(3, 5))
}
2.空接口
作为参数时,可以传递进任何类型参数
package main
import "fmt"
func f(i interface{}) {
fmt.Printf("type:%T\n", i)
}
func main() {
f(3)
f("abc")
}