मैं chan X
पर एक अनुरोध का उत्तर भेज रहा हूं, जहां X
एक संरचना है। अनुरोध एक खोज ऑपरेशन है, इसलिए आदर्श रूप से मैं X
वापस लौटने में सक्षम होना चाहता हूं, या रिपोर्ट नहीं मिली थी।क्या गो में "शायद" या "विकल्प" प्रकार अनुकरण करने का कोई अच्छा तरीका है?
यह हास्केल में Maybe X
या OCaml में x option
के लिए एक कार्य होगा। क्या गो में ऐसा करने का कोई अच्छा तरीका है? मैं एक सूचक वापस नहीं कर रहा हूं (जैसा कि मूल ऑब्जेक्ट मैं लौट रहा हूं बाद में संशोधित किया जा सकता है), इसलिए मैं केवल nil
वापस नहीं कर सकता।
संपादित करें: अभी मैं इसे एक chan interface{}
बना रही हूँ और या तो एक X
या nil
भेजने, लेकिन यह बदसूरत है और टाइप-सुरक्षा को हरा दिया।
https://github.com/alphazero/future.go में मैं टपल (इंटरफ़ेस {}, झंडा) चैनल पेलोड के रूप में के लिए चुना। दिलचस्प है, कल इसे धक्का दिया। – alphazero