Я отправляю ответ на запрос через chan X
, где X
— это структура. Запрос представляет собой операцию поиска, поэтому в идеале я хотел бы иметь возможность вернуть либо X
, либо сообщить, что он не найден.
Это будет задача для Maybe X
в Haskell или x option
в OCaml. Есть ли достойный способ сделать это в Go? Я не возвращаю указатель (поскольку исходный объект, который я возвращаю, может быть изменен позже), поэтому я не могу просто вернуть nil
.
Редактировать:прямо сейчас я делаю chan interface{}
и либо отправляю X
либо nil
, но это некрасиво и нарушает безопасность типов.