2014-05-13

ufm: (Default)

Чумовой язык, да.
Например нет атоммарной операции «отправить в канал и вернуть ошибку если канал закрыт». Вобще нет. При этом отправка чего нибудь в закрытый канал вызовет КРОВЬ КИШКИ РАСПИДОРАСИЛО панику.

Как следствие — внятного способа отследить состояние горутины — отсутствует.

Ну и до кучи.
func Send(c chan bool, t bool) {
defer func() {
recover()
return
}()
c <- t
return
}

На открытом канале этот код отрабатывает в 3 раза быстрее, чем на закрытом. А без defer - еще в 3 раза быстрее.

Originally published at U.F.M's Homepage. You can comment here or there.