を介してリクエストへの応答を送信しています。chan X
ここで、は構造体です。リクエストは検索操作なので、理想的には を返すか、見つからなかったことを報告できるX
ようにしたいと思います。X
Maybe X
これはHaskell では 、 OCaml では のタスクになりますx option
。Go でこれを行う適切な方法はありますか? ポインターを返さないので (返している元のオブジェクトは後で変更される可能性があるため)、 を返すことはできませんnil
。
編集:現在は にしてchan interface{}
または を送信していますX
がnil
、これは見苦しく、型の安全性に反します。
ベストアンサー1
私はポインタ型を使用します。
Maybe X
=*X
Nothing
=nil
Just x
=&x