package common
//基类接口
type IBase interface {
  Init()    //构造
  Destroy() //消毁
}
package common
import (
  "fmt"
)
//游戏公共业务
type GameCommon struct {
  //初始化游戏公共业务信息
}
func New() IBase {
  return &GameCommon{} //返回实现化接口的对象
}
//构造
func (common *GameCommon) Init() {
  fmt.Println("构造游戏公共业务")
}
//消毁
func (common *GameCommon) Destroy() {
  fmt.Println("消毁游戏公共业务")
}
gameCommon := common.GameCommon{} //实现了接口的对象
  var ibase common.IBase            //接口对象
  ibase = &gameCommon               //接口与实例交接
  ibase.Init()                      //通过调用接口方法映射到实例方法
  _common := common.New() //实例化对象
  _common.Destroy()       //通过调用接口方法映射到实例方法