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

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

Go 不將 func 識別為有效接口

Go 不將 func 識別為有效接口

Go
拉風(fēng)的咖菲貓 2022-10-10 19:37:24
我有功能func(context.Context, *domain.Scorecard) (*domain.Scorecard, error)我想將此作為接收接口的參數(shù)傳遞warehouse interface {   Get(context.Context, *domain.Scorecard) (*domain.Scorecard, error)}前任:warehouseMock := usecase.WithScenarioFinder(  func(player *domain.Player) (*domain.Scenario, error) {          return nil,nil)傳統(tǒng)形式是創(chuàng)建一個具有 Get 方法的結(jié)構(gòu),但我很好奇是否存在告訴“嘿,這是一個簡單的 func,是同一家公司(沒有名稱),接受它”的方式
查看完整描述

1 回答

?
慕桂英3389331

TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個贊

函數(shù)不實(shí)現(xiàn)僅具有相同簽名的單個方法的接口。有關(guān)該主題的討論,請參閱此 Go 問題。


創(chuàng)建適配器類型以將函數(shù)轉(zhuǎn)換為接口:


type WarehouseFunc func(context.Context, *domain.Scorecard) (*domain.Scorecard, error)


func (f WarehouseFunc) Get(c context.Context, d *domain.Scorecard) (*domain.Scorecard, error) {

   return f(c, d)

}

將匿名函數(shù)轉(zhuǎn)換為如下接口:


itf = WarehouseFunc(func(c context.Context, d *domain.Scorecard) (*domain.Scorecard, error) {

    return nil, nil

})


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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