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