初级会员
  • 第 47928 位会员
  • davidyanxw
  • 2020-02-06 15:40:22
  • Offline
  • 20 7

最近发布的主题

    暂无

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • Error communicating with remote server.
  • 楼主可能描述的有点小问题,但是结论是对的,是个坑。 复现代码: ```go type EntityStorage interface { Close() } type RedisEntityStorage struct { } func (*RedisEntityStorage) Close() { } func OpenRedis() *RedisEntityStorage { return nil } func main() { var storageEngine EntityStorage fmt.Println(reflect.TypeOf(storageEngine), reflect.ValueOf(storageEngine)) fmt.Println(storageEngine == nil) // true storageEngine = OpenRedis() fmt.Println(reflect.TypeOf(storageEngine), reflect.ValueOf(storageEngine)) fmt.Println(storageEngine == nil) // false } ``` 具体问题楼主已经说了,两个解决方法都可以。 另外,从习惯上,有两个点可以帮助避免这些坑: 1. 多返回值error 2. storageEngine变量类型是EntityStorage,那么OpenRedis()返回值也应该是EntityStorage,保持一致。
  • 评论了博文 golang中Ticker的使用
    子协程阻塞在下面这个位置: <-ticker.C
  • st是St类型,实现了Describer接口