第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有一種好的方法可以模擬Go中的“也許”或“選項”類型?

有沒有一種好的方法可以模擬Go中的“也許”或“選項”類型?

Go
繁星點點滴滴 2021-04-27 13:17:53
我正在通過發(fā)出對請求的回復(fù)chan X,其中X是一個結(jié)構(gòu)。該請求是搜索操作,因此理想情況下,我希望能夠返回X或報告未找到它。對于Maybe XHaskell或x optionOCaml,這將是一項任務(wù)。Go中有什么體面的方法可以做到這一點嗎?我沒有返回指針(因為稍后返回的原始對象可能會被修改),所以我不能只返回nil。編輯:現(xiàn)在,我將其設(shè)為a,chan interface{}然后發(fā)送Xor或nil,但這很丑陋,并且會破壞類型安全性。
查看完整描述

3 回答

?
紅顏莎娜

TA貢獻1842條經(jīng)驗 獲得超13個贊

如果您正在使用interface {},則現(xiàn)在實際上是在返回一個指針。為什么不更改interface {}*X并確保返回該對象的副本?如果我了解您不使用的原因chan *X,那就是。


查看完整回答
反對 回復(fù) 2021-05-10
?
繁星coding

TA貢獻1797條經(jīng)驗 獲得超4個贊

我使用指針類型,其中:

  • Maybe X = *X

  • Nothing = nil

  • Just x = &x


查看完整回答
反對 回復(fù) 2021-05-10
?
守著一只汪

TA貢獻1872條經(jīng)驗 獲得超4個贊

另一種方法是添加一個好的布爾值。您可以將其添加到X或包裝X,例如struct {X; ok bool}


查看完整回答
反對 回復(fù) 2021-05-10
  • 3 回答
  • 0 關(guān)注
  • 230 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號