2017-02-22 7 views
-2

에 비 정렬 화 나는 내 질문을 설명하기 위해 예제 프로그램을 작성하고, 여기에서 볼 수 있습니다 : 는 https://play.golang.org/p/6776lYcbBRGolang 구조 필드의 이름과이 구조

그래서 제 질문은 다음과 같습니다

구조 (GameOne) 필드 이름은 대문자로 시작합니다. json.Unmarshal은 예상대로 작동합니다. 소문자로 시작하는 경우 (GameTwo) 필드 값은 기본값으로 설정됩니다.

왜 이렇게됩니까? 범위/가시성 규칙과 관련이 있습니까?

미리 감사드립니다.

+0

가능한 복제본 [내 구조가 json에 정렬되지 않음] (http://stackoverflow.com/questions/15452004/my-structures-are-not-marshalling-into-json) – RdB

답변

1

json.Unmarshal은 구조체의 내보내기 필드 만 설정하고 필드를 내보내려면 첫 번째 문자는 대문자 여야합니다. 자세한 내용은
은 내가보기 엔 당신이 (추가 강조) the documentation부터 documentation

1

을 살펴보고 제안 :

비 정렬 화는 구조체의 수출 필드를 설정 만합니다.

소문자로 시작하는 필드는 물론 내보내지지 않습니다. 따라서 JSON 마샬 러 (또는 패키지 외부의 모든 항목)가 영향을 줄 수있는 방법이 없습니다.