>백엔드 개발 >Golang >가져온 내장 구조 리터럴에 값을 제공하는 방법은 무엇입니까?

가져온 내장 구조 리터럴에 값을 제공하는 방법은 무엇입니까?

WBOY
WBOY앞으로
2024-02-05 21:54:111148검색

가져온 내장 구조 리터럴에 값을 제공하는 방법은 무엇입니까?

질문 내용

저는 여기 초보자입니다 :) 이해가 안 돼요

파일에서 이 작업을 수행하는 경우:

scratch.go

으아아아

작동해요 하지만 이런 파일이 3개 있으면

으아아아

magazine/address.go

으아아아

magazine/employee.go

으아아아

그리고 main.go

으아아아

오류:(

으아아아

이해가 안 돼요, 제가 뭘 잘못했나요? 구조가 중첩되면 외부 구조에 내장되어 있다고 생각하며 외부 구조에서 내부 구조의 필드에 액세스할 수 있습니다. 이것은 내 첫 번째 예제(단일 파일)의 경우이지만 패키지에서 이 작업을 수행할 경우입니다. 차이점이 있나요?


정답


구조체가 중첩되어 있으면 외부 구조체에 내장되어 있다고 하고 외부 구조체에서 내부 구조체의 필드에 접근할 수 있는 것 같아요.

예, 포함된 필드의 멤버에 직접 액세스할 수 있지만 이는 복합 리터럴을 사용하는 경우입니다. 텍스트 구조화 규칙을 살펴보면 다음을 찾을 수 있습니다.

어떤 요소에 키가 있으면 모든 요소에도 키가 있어야 합니다.

이 규칙은 필드가 포함되었는지 여부에 관계없이 적용됩니다.

오류를 수정하려면 다른 키를 제거하세요.

으아아아

또는 모든 키를 지정할 수도 있습니다:

으아아아

포함된 필드의 경우 유형의 정규화되지 않은 이름을 사용하여 포함된 필드를 참조할 수 있습니다.

https://www.php.cn/link/2eeb0ca3f02a275d5179f3b6d9e86e7d

유형으로 선언되었지만 명시적인 필드 이름 없이 선언된 필드를 포함된 필드라고 합니다. 포함된 필드는 그 자체가 포인터 유형이 아닐 수 있는 유형 이름으로 지정되어야 합니다. t 或指向非接口类型名称 *t 的指针,并且 t정규화되지 않은 유형 이름은 필드 이름 역할을 합니다.

위 내용은 가져온 내장 구조 리터럴에 값을 제공하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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