>백엔드 개발 >Golang >구조에서 함수 매개변수로 복합재 사용 허용

구조에서 함수 매개변수로 복합재 사용 허용

WBOY
WBOY앞으로
2024-02-05 22:30:031158검색

구조에서 함수 매개변수로 복합재 사용 허용

질문 내용

제가 게임 엔진 같은 것을 만들고 있다고 가정해 보겠습니다.

일부 이벤트 핸들러를 정의하려면 GameObject 구조체가 필요합니다.

으아아아

그런 다음 구체적인 게임 개체를 초기화할 때 핸들러를 사용자 정의 함수로 정의하고 싶습니다.

으아아아

tailMotionSpeedboid 不是 GameObject 的成员。它们是 struct FishGameObject의 멤버인 이 구조에는 몇 가지 사용자 정의 속성과 익명의 GameObject가 있습니다.

으아아아

매개변수를 GameObjectGetter로 지정하면 func(self GameObjectGetter) 값에서 self.tailMotionSpeed undefined(类型 GameObjectGetter 没有字段或方法 tailMotionSpeed),而且我收到错误 cannot use handler(类型为 func(self FishGameObject 的变量) )) 作为结构文字 오류가 발생합니다(매개변수를 FishGameObject로 지정하는 경우). 나는 무엇을 해야 합니까?


정답


하고 싶은 일은 바둑에서는 불가능해요. 하지만 다음과 같이 할 수 있습니다.

GameObject을 인터페이스로 정의:

으아아아

다음을 BaseGameObject로 정의할 수 있습니다.

으아아아

BaseGameObject 成为 GameObject

가 되도록 모든 메서드를 정의합니다.

FishGameObject그럼

을 정의해 보세요. 하지만

으아아아

또한 모든 메서드에 포인터 수신기를 사용해야 합니다. 🎜

위 내용은 구조에서 함수 매개변수로 복합재 사용 허용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제