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 ", i) } func main() { f(3) f("abc") }