所以我有一个定义String别名的类型string:type String string然后我对它应用以下方法:func (s String) String() string { str := "'" + s + "'" return string(str)}然后我尝试发送一个包含Stringover rpc的结构并收到以下错误:gob: type not registered for interface: dbUtils.String我没有定义任何同名的接口,那么为什么gob会认为这是一个接口呢?我遇到了类似类型的相同错误,但使用gob.Register(otherType{}). 这不适用于String,大概是因为string它不是接口。我有点新去所以请解释发生了什么。
2 回答
开满天机
TA贡献1786条经验 获得超13个赞
它应该与 String 一起使用,但请确保您传递的是 String() 对象的实例,而不是标识符 String。所以用gob.Register(String(""))
- 2 回答
- 0 关注
- 318 浏览
添加回答
举报
0/150
提交
取消