1
我還是不習慣去做事的方式。 這裏我有一個包裝BidiMap的ClientConnectorPool類型。我應該如何初始化這種類型?這樣我可以在我的bidiMap中添加後綴?我所有的嘗試都是這樣做的,我需要靈感,我可以爲它做些什麼(ClientConnectorPool)函數嗎?最佳做法,如何初始化自定義類型?
在我的腦袋就應該是這樣的,但我所有的解決方案就像是代碼15行,以避免零指針錯誤:d
CC = make(ClientConnectorPool)
CC.Add("foo","bar")
代碼:
package main
import()
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
}