Wysyłam odpowiedź na żądanie przez chan X
, gdzie X
jest strukturą. Żądanie jest operacją wyszukiwania, więc najlepiej byłoby móc zwrócić wartość X
lub zgłosić, że nie została znaleziona.Czy istnieje dobry sposób symulacji typu "Może" lub "opcja" w programie Go?
To byłoby zadanie dla Maybe X
w Haskell lub x option
w OCaml. Czy jest jakiś przyzwoity sposób to zrobić w Go? Nie zwracam wskaźnika (ponieważ oryginalny obiekt, który zwracam, może zostać zmodyfikowany później), więc nie mogę po prostu zwrócić nil
.
Edit: teraz robię mu chan interface{}
i albo wysyłając X
lub nil
, ale jest brzydki i pokonuje wpisać-bezpieczeństwo.
w https://github.com/alphazero/future.go I zdecydował się krotki (interfejsu {} flaga) jako danych kanału. Interesujące, popchnęło to wczoraj. – alphazero