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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

接口作為結(jié)構(gòu)中的字段,接口調(diào)用將輸入作為同一結(jié)構(gòu)的方法

接口作為結(jié)構(gòu)中的字段,接口調(diào)用將輸入作為同一結(jié)構(gòu)的方法

Go
HUH函數(shù) 2023-08-07 14:38:28
就我而言,“RequestHandlerProxy”是一個(gè)結(jié)構(gòu),其字段為接口“IAdapter”,并且接口有許多要調(diào)用的方法,該方法的輸入為結(jié)構(gòu)“RequestHandlerProxy”。請(qǐng)幫助我如何處理這個(gè)?如何定義結(jié)構(gòu)“RequestHandlerProxy”的值并傳遞?以下是我的接口結(jié)構(gòu)和方法: 接口“IAdapter”位于文件“adapters”中type RequestHandlerProxy struct {    TestMode       bool    coreInstanceId string    adapter        adapters.IAdapter    coreProxy      adapterif.CoreProxy}func NewRequestHandlerProxy(coreInstanceId string, iadapter adapters.IAdapter, cProxy adapterif.CoreProxy) *RequestHandlerProxy {    var proxy RequestHandlerProxy    proxy.coreInstanceId = coreInstanceId    proxy.adapter = iadapter    proxy.coreProxy = cProxy    return &proxy}func (rhp *RequestHandlerProxy) Adapter_descriptor() (*empty.Empty, error) {    return new(empty.Empty), nil    }func (rhp *RequestHandlerProxy) Device_types() (*voltha.DeviceTypes, error) {    return nil, nil}func (rhp *RequestHandlerProxy) Health() (*voltha.HealthStatus, error) {        return nil, nil}以下是我在適配器文件中的界面:type IAdapter interface {    Adapter_descriptor() error    Device_types() (*voltha.DeviceTypes, error)    Health() (*voltha.HealthStatus, error)}
查看完整描述

1 回答

?
素胚勾勒不出你

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個(gè)贊

您提供的代碼有點(diǎn)難以理解(不完整且目的不清楚),因此這里是一個(gè)簡(jiǎn)化的示例,希望能夠回答您的問(wèn)題。RequestHandlerProxy請(qǐng)注意,從問(wèn)題標(biāo)題來(lái)看,我假設(shè)實(shí)現(xiàn)該接口的事實(shí)IAdapter讓您感到困惑;這可能是無(wú)關(guān)緊要的(可能還有其他函數(shù)接受 an ,在其中傳遞 a或您自己的實(shí)現(xiàn)IAdapter是有意義的,如下所示)。RequestHandlerProxyIAdapteradaptImpl

我已簡(jiǎn)化IAdapter為包含單個(gè)函數(shù)并將所有內(nèi)容都放在一個(gè)文件中。要擴(kuò)展它以在您的示例中工作,您將需要實(shí)現(xiàn)所有三個(gè)函數(shù)(Adapter_descriptor()Device_types()Health())。代碼可以在go Playground中運(yùn)行(如果這不能回答您的問(wèn)題,也許您可以修改該代碼以提供問(wèn)題的簡(jiǎn)化示例)。

package main

import "errors"


// IAdapter - Reduced to one function to make this simple

type IAdapter interface {

    Adapter_descriptor() error

}


/// NewRequestHandlerProxy - Simplified version of the New function

func NewRequestHandlerProxy(iadapter IAdapter) {

    return // code removed to make example simple

}


// adaptImpl - Implements the IAdapter interface

type adaptImpl struct {

    isError bool // example only

}


// Adapter_descriptor - Implement the function specified in the interface

func (a adaptImpl) Adapter_descriptor() error {

    if a.IsError {

        return errors.New("An error happened")

    }

    return nil

}


func main() {

    // Create an adaptImpl which implements IAdapter 

    x := adaptImpl{isError: true}

    NewRequestHandlerProxy(x)

}


查看完整回答
反對(duì) 回復(fù) 2023-08-07
  • 1 回答
  • 0 關(guān)注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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