Go에서 구조체에 대한 전용 필드 및 메서드 캡슐화
Go에서 구조체 필드와 메서드 모두에 대한 진정한 캡슐화를 달성하는 것은 이해의 문제입니다. 변수 범위 지정 및 가시성 규칙.
관례에 따라 대문자로 시작하는 식별자 편지는 내보내지고 선언 패키지 외부에서 액세스할 수 있습니다. 반대로, 소문자 식별자는 패키지 자체 내에서만 액세스할 수 있습니다.
mytype 구조체와 해당 doPrivate 메서드를 모두 사유화하려면 다음 단계를 수행해야 합니다.
결과 코드:
// Package mypkg defines the private mytype struct and its methods. package mypkg type mytype struct { size string hash uint32 } // doPrivate can only be accessed by members of mytype. func (r *mytype) doPrivate() string { return r.size }
이제 회원만 mytype 구조체의 비공개 필드와 메서드에 액세스할 수 있습니다. mypkg 패키지 내의 외부 유형이나 함수는 이러한 비공개 멤버에 직접 액세스할 수 없습니다.
위 내용은 Go 구조체에서 개인 필드와 메서드를 캡슐화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!