接口就是一种规范, 只要遵循规范就可以使用其方法做多态操作
使用步骤:
1.在接口中定义方法
2.需要不同的实现
3.统一管理这些实现
以一个负载均衡为例
创建实例(主机)instance.go:
package balance
import "strconv"
/*用于表示主机实例*/
type Instance struct {
host string // ip
port int // 端口
}
/*创建实例*/
func CreateInstance(param_host string, param_port int) (instance *Instance) {
return &Instance {
host : param_host,
port : param_port,
}
}
/*获取host*/
func (ins *Instance) GetHost() string{
return ins.host
}
/*获取port*/
func (ins *Instance) GetPort() int{
return ins.port
}
/*实现fmt的String方法, 格式化输出实例*/
func (ins *Instance) String() (str string) {
str = ins.host + "-->" + strconv.Itoa(ins.port)
return
}
创建接口balance.go: