PHP 편집기 Youzi가 인터페이스 유형 배열의 중첩 구조 필드에 액세스하는 방법을 설명합니다. 인터페이스에서 반환된 데이터를 처리할 때 때때로 중첩된 구조, 즉 배열에 더 깊은 필드가 포함되어 있는 경우가 있습니다. 이러한 중첩 필드에 액세스하려면 도트 연산자나 배열 첨자를 사용하여 레이어별로 얻을 수 있습니다. 배열의 계층 구조와 해당 키 이름을 이해함으로써 필요한 필드 값에 쉽게 액세스하고 인터페이스에서 반환된 데이터를 유연하게 처리할 수 있습니다. 다음으로 다양한 데이터 처리 시나리오를 쉽게 처리할 수 있도록 인터페이스 유형 배열에서 중첩된 구조 필드를 작동하는 방법을 자세히 소개합니다.
이 중첩 구조의 FieldBase 필드에 액세스하고 싶습니다.
이것은 내 코드 샘플입니다:
으아아아배열 x에 있는 각 중첩 구조의 FieldBase 필드 값에 액세스하는 방법을 알고 싶습니다. 여기서 x는 인터페이스 유형입니다. 액세스를 위해 유형 어설션을 사용해 보았지만 단일 요소에서만 시도해 볼 수 있습니다.
type InterfaceA interface { FunA() } type BaseStruct struct { FieldBase string } type SubStruct struct { BaseStruct } func (c SubStruct) FunA() { } type SubStruct2 struct { BaseStruct } func (c SubStruct2) FunA() { } func main() { var x = [2]InterfaceA{ SubStruct{BaseStruct: BaseStruct{FieldBase: "aaa"}}, SubStruct2{BaseStruct: BaseStruct{FieldBase: "bbb"}}, } // TODO: Access fields of nested classes in the array }
배열이 인터페이스에 속하므로 각 유형에 대한 유형 어설션 및 핸들이 필요하거나 인터페이스 메서드가 필요합니다. 그러나 내 생각에 당신이 원하고 필요한 것은 FieldBase 를 노출하는 각 구조체 유형에 대해 다음과 같은 인터페이스 메서드를 갖는 것입니다.
으아아아위 내용은 인터페이스 유형 배열의 중첩 구조 필드에 액세스하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!