Эта проблема довольно распространена: объект должен уведомлять всех своих подписчиков о возникновении какого-либо события. В C++ мы можем использовать boost::signals
или что-то еще. Но как это сделать на языке Go? Было бы неплохо увидеть пример рабочего кода, в котором несколько объектов подписываются на издателя и обрабатывают уведомления.Шаблон наблюдателя в языке Go
Thanks
Будьте осторожны с работой канала блокировки. –
@MizardX, конечно, я бы тоже имел чан-чан, например chan bool, и использовал select {} и выходил из recv из канала управления. Но все это довольно тривиально и немного чрезмерно для базового примера. – cthom06
@MizardX: разве это не похоже на высказывание «будьте осторожны с арифметикой указателя» в C? Будьте осторожны с каналами - это 90% программирования Go ;-) –