기본적으로 SetParams
메서드가있는 인터페이스를 갖고 싶습니다. 선언은 하나의 매개 변수를받는 것으로 선언하고 메서드의 반환 형식은 반환하지만 매개 변수의 반환 형식은 수신기까지 남겨 둡니다. 이 인터페이스 같은Go에 인터페이스를 구현하는 수신기에 인터페이스 매개 변수의 유형을 남길 수 있습니까?
뭔가 : XStruct
그것을 구현하는 경우
type ParamsInterface interface {
SetParams(<someType>) ParamsInterface
}
지금, 매개 변수의 유형은 XParams
type XStruct struct {
params XParams
}
func (x *XStruct) SetParams(params *XParams) ParamsInterface {
x.params = params
return x
}
입니다 그러나 YStruct
그것을 구현하는 경우, 매개 변수의 유형은 YParams
입니다
type YStruct struct {
params YParams
}
func (y *YStruct) SetParams(params *YParams) ParamsInterface {
y.params = params
return y
}
아니요. 불가능합니다. – Volker