func newClient(cf *config.ConfigMemcache) (this *Client) { this = new(Client) this.conf = cf this.breakers = make(map[net.Addr]*breaker.Consecutive) this.throttleConns = make(map[net.Addr]chan interface{}) switch cf.HashStrategy { case ConstistentHashStrategy: this.selector = new(ConsistentServerSelector) default: this.selector = new(StandardServerSelector) } if err := this.selector.SetServers(cf.ServerList()...); err != nil { panic(err) } return }