Go 구조체의 이름 없는 필드 이해
Go 구조체의 이름 없는(또는 익명) 필드는 두 가지 목적으로 사용됩니다.
1. 필드 승격:
구조체의 첫 번째 익명 필드가 "승격" 필드가 됩니다. 즉, 필드 이름을 지정하지 않고 상위 구조체에서 해당 속성에 직접 액세스할 수 있습니다.
2. 복합 유형 포함:
익명 필드를 사용하면 다른 구조 내에 전체 구조를 포함할 수 있으므로 포함된 유형의 기능을 활용할 수 있습니다.
이러한 개념을 설명하려면 다음을 고려하세요. 코드 조각:
package main import ( "fmt" ) type Base struct { Name string } type Embedded struct { Address string } type Person struct { Base Embedded } func main() { person := Person{ Base: Base{Name: "Alice"}, Embedded: Embedded{Address: "123 Main Street"}, } fmt.Printf("Name: %s, Address: %s\n", person.Name, person.Address) }
여기서 예:
Person의 Name에 액세스할 때 우리는 약식 구문을 사용하여 Base의 승격된 필드인 Name에 액세스합니다. 마찬가지로 Address에 액세스하기 위해 person.Address를 사용하여 내장된 Embedded 구조체에 액세스합니다.
이를 통해 기본 및 Embedded 구조체 모두에서 속성을 상속하는 새로운 유형(Person)을 효과적으로 생성할 수 있어 편리하고 복잡한 데이터 구조를 구성하는 깔끔한 방법.
위 내용은 Go 구조체의 이름 없는 필드는 어떻게 필드를 승격하고 복합 유형을 포함합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!