package chat type ClientMap map[*Client]bool var ClientHandler = ClientMap{} func (c ClientMap) AddClient(client *Client) { c[client] = true } func (c ClientMap) DeleteClient(ID string) { for client := range c { if client.ID == ID { delete(c, client) } } } func (c ClientMap) FindClientsByStreamer(streamer string) []*Client { var clients []*Client for client := range c { // check if the client is following the given streamer for s, _ := range client.FollowingStreamers { if s == streamer { clients = append(clients, client) break } } } return clients }