Go 구조체의 익명 필드
Go 구조체의 익명 필드는 다른 유형의 필드를 현재 구조체에 포함시키지 않고 고유한 방법을 제공합니다. 명시적으로 이름을 지정합니다. 코드 재사용, 구성 및 데이터 구성의 유연성이 가능합니다.
제공한 예에서:
type myType struct { string }
string은 myType 구조체의 익명 필드입니다. myType의 인스턴스를 생성하면 익명 필드는 내부적으로 문자열로 명명됩니다(디버깅 도구에서 볼 수 있음).
익명 필드 액세스
이름이 지정된 필드와 달리, 점 표기법(예: obj.name)을 사용하여 직접 액세스할 수 있는 익명 필드는 익명 이름으로 액세스할 수 없습니다. 그러나 "필드 승격"이라는 고유한 속성을 제공합니다.
구조체의 첫 번째 익명 필드는 자동으로 승격되어 상위 구조체의 직접 필드로 액세스할 수 있게 됩니다. 이는 obj.string을 사용하여 myType의 문자열 필드에 액세스할 수 있음을 의미합니다.
예를 들어 다음 코드에서는
func main() { obj := myType{"Hello World"} fmt.Println(obj) // Prints "Hello World" }
fmt.Println 문은 문자열 값을 인쇄합니다. obj.string으로 액세스할 수 있는 익명 필드.
익명의 이점 필드
위 내용은 Go 구조체의 익명 필드는 어떻게 작동하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!