看不一段源码( leaf 的示例程序)

craboy1 2019-02-28 05:41:37

package msg

import (
"github.com/name5566/leaf/network"
)

var Processor network.Processor

func init() {
Processor.Register(&Hello{})
}

// 一个结构体定义了一个 JSON 消息的格式
// 消息名为 Hello
type Hello struct {
Name string
}


但var Processor network.Processor是个接口,无任何方法


package network

type Processor interface {
// must goroutine safe
Route(msg interface{}, userData interface{}) error
// must goroutine safe
Unmarshal(data []byte) (interface{}, error)
// must goroutine safe
Marshal(msg interface{}) ([][]byte, error)
}



迷惑的地方:
没搜到var Processor network.Processor 什么时间初始化的, 在init中怎么就直接调用方法了呢?
...全文
136 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
qybao 2019-03-01
  • 打赏
  • 举报
回复
看了一下git的代码
github.com/name5566/leaf/network/protobuf 下有Processor的实现
有可能这是protoc自动生成的

2,348

社区成员

发帖
与我相关
我的任务
社区描述
go语言学习与交流版
社区管理员
  • go语言社区
  • 俺叫西西弗斯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧