Полагаю, вам нужно это
func sendAll(msg []byte, myconn *websocket.Conn) {
for conn := range connections {
if myconn != conn {
if err := conn.WriteMessage(websocket.TextMessage, msg); err != nil {
delete(connections, conn)
conn.Close()
}
}
}
}
P.S. А еще вы изменяете map из нескольких потоков одновременно, это очень плохо. Однажды ваше приложение рухнет из-за ошибки памяти. Если хотите изменять глобальные объекты из нескольких горутин (а net/http каждое соединение обрабатывает в отдельной горутине), то вам нужно обеспечить чтобы с map-ом в каждый момент времени работала только одна горутина. Это делается через мьютексы, например.