为了账号安全,请及时绑定邮箱和手机立即绑定

最佳实践,如何初始化自定义类型?

最佳实践,如何初始化自定义类型?

Go
动漫人物 2021-06-14 21:21:44
我还是不习惯 go 的做事方式。这里我有包装 BidiMap 的 ClientConnectorPool 类型。我应该如何初始化这种类型?以便我可以添加到我的 bidiMap 后记?我所做的所有尝试都是 hackish,我需要灵感,我可以为它实现某种 om make(ClientConnectorPool) 函数吗?在我的脑海中它应该是这样的,但我所有的解决方案都像 15 行代码以避免 nil 指针错误:DCC = make(ClientConnectorPool)CC.Add("foo","bar")代码:package mainimport ()type ClientConnectorPool struct {    Name string    ConnectorList BidirMap}func (c ClientConnectorPool) Add(key, val interface{}){     c.ConnectorList.Add(key,val)}type BidirMap struct {    left, right map[interface{}]interface{}}func (m BidirMap) Add(key, val interface{}) {    if _, inleft := m.left[key]; inleft {        delete(m.left, key)    }    if _, inright := m.right[val]; inright {        delete(m.right, val)    }    m.left[key] = val    m.right[val] = key}
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 166 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信