Ash*_*she 13 types nullable go
我正在通过a发送对请求的回复chan X,其中X是struct.请求是一个搜索操作,所以理想情况下我希望能够返回一个X,或报告它没有找到.
这将是Maybe XHaskell或x optionOCaml中的任务.在Go中有什么好的方法吗?我没有返回指针(因为我正在返回的原始对象可能会在以后修改),所以我不能只返回nil.
编辑:现在我正在制作一个chan interface{}或者发送一个X或nil,但这是丑陋的,并打败类型安全.
如果您正在使用,那么interface {}您现在实际上正在返回一个指针。为什么不更改interface {}为*X并确保返回对象的副本?如果我理解你不使用 a 的原因chan *X,那就是。