1.实现就好,无需声明
2.空接口类似System object 可以接收任意类型对象
3.接口赋值
package main
import "fmt"
// Integer def
type Integer int
// Less b
func (a Integer) Less(b Integer) bool {
return a < b
}
// Add b
func (a *Integer) Add(b Integer) {
*a += b
}
// LessAdder interface def
type LessAdder interface {
Less(b Integer) bool
Add(b Integer)
}
//LessAdderCp interface
type LessAdderCp interface {
Less(b Integer) bool
Add(b Integer)
}
func main() {
var a Integer = 1
var b LessAdder = &a //1.将对象实例赋值给接口,实例对象需实现接口的所有方法才能赋值。
b.Add(2)
fmt.Println(a)
var bb LessAdderCp = b
fmt.Println(bb.Less(4)) // 2.将接口赋值给另一个接口
}