인터페이스 선언과 이를 구현하는 많은 구조체가 있습니다
으아아아또한 포함됩니다 datac,d,e...
이거 넣을게요 datax
结构实例存储到 type dataslice []datainterface
이제 datax
을 얻고 싶다면 다음과 같이 할 수 있습니다.
여기에는 중복된 코드가 많이 있습니다:
으아아아그래서 제네릭을 사용하여 이 문제를 해결할 수 있다고 생각하고 다음 함수를 정의했습니다.
으아아아하지만 오류가 발생했습니다: impossible 类型断言:'*t' 未实现 'datainterface
그래서 이것이 정말 불가능한 것인지 알고 싶습니다. 아니면 다른 방법으로 할 수 있나요?
필요에 따라 다음 코드를 사용할 수 있어야 합니다.
으아아아우선 코드를 단순화했습니다. dataa
和 datab
结构。然后,我将指针接收器更改为值接收器,因为您不会更改传递给方法的实际实例的状态。由于此更改,getdatax
성공적으로 작동하고 유사한 구조 정보를 모두 얻을 수 있다는 점을 고려합니다.
이 방법으로 문제가 해결되었거나 다른 것이 필요한 경우 알려주세요. 감사합니다!
위 내용은 제네릭을 사용하여 인터페이스를 지정된 유형으로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!