저는 파이썬 dev 때로는 어려움을 겪고 명시적인 자연의 이동합니다. 나려는 것을 압축하기 위해 코드를 이동할 수 있는 방법에서 하나 구조물의 일부가 될 수 있는 인터페이스입니다. 하지만 프로세스는 것이 이상한 나에게 소원을 확인하는 나가지 않고 뭔가 잘못되었습니다.
나는 다음과 같은 인터페이스 구조와 방법:
type Executing interface {
Execute()
}
type MyExecuter struct {
attribut1 string
}
//The function I wish to move
func (exe1 *MyExecuter) format() string {
return fmt.sprintf ("formated : %s", exe1.attribut1)
}
func (exe1 *MyExecuter) Execute() {
//Executing
fmt.Println(exe.format())
}
func GetExecuter () Executer{
return MyExecuter{attribut1: "test"}
}
그래서 저는 여기에 일반 인터페이스를 실행하는 이 인터페이스에 액세스 할 것입니다에 의해 반환되는 개체 GetExecuter 방법입니다.
지금의 한 부분으로 구현 하나의 내 Executer,나는 원하는 이동하는 형식으로방법의 일환으로 인터페이스입니다.
그래서 나는 다음과 같다:
type Formatting interface {
format() string
}
type Formatter struct {}
func (formatter *Formatter) format(exe1 *MyExecuter) (string) {
return fmt.sprintf ("formated : %s", exe1.attribut1)
}
그래서 내가 만드는 새로운 인터페이스,새로운 빈 구조 업데이트 기능을 특성으로 내 이전 구조입니다.
이 작동 하는 것,그것이 나를 이것은 복잡한 비트. 특별히 이 부분을 추가 할 필요가있을 참조하거나 객체의 속성으로 이 방법입니다. 내가 뭔가 잘못된 여기에,또는 이것은 올바른 방법?