Go에서 불변 구조체 생성
Go에서는 일단 초기화되면 값을 읽는 데에만 사용할 수 있는 불변 구조체를 생성하는 것이 가능합니다. 수정하는 것보다. 수행 방법은 다음과 같습니다.
멤버를 비공개로 설정
일반적으로 구조체의 필드는 내보내지며 패키지 외부에서 액세스할 수 있습니다. 불변 구조체를 생성하려면 필드 이름 시작 부분에 소문자를 사용하여 해당 필드를 내보내지 않도록 설정하세요. 이렇게 하면 필드에 대한 외부 액세스가 방지됩니다.
리더 메서드 제공
필드 값에 대한 액세스를 활성화하려면 접두사 "Value()" 또는 설명적인 이름. 이러한 메서드는 구조체를 수정하지 않고 값을 검색합니다.
예
다음은 불변 구조체 생성을 보여주는 예제 코드 조각입니다.
package example type ImmutableStruct struct { value int } func (s ImmutableStruct) GetValue() int { return s.value } func NewImmutableStruct(value int) ImmutableStruct { return ImmutableStruct{value: value} }
사용법
이 불변 구조체는 다음과 같이 사용할 수 있습니다.
myStruct := example.NewImmutableStruct(3) fmt.Println(myStruct.GetValue()) // Prints 3
이 예에서 myStruct 변수는 불변이며 직접 수정할 수 없습니다. GetValue() 메서드를 통해 값을 검색하는 데만 사용할 수 있습니다.
구조체를 변경할 수 없게 만들면 Go 애플리케이션의 보안과 무결성을 강화하여 민감하거나 중요한 데이터가 의도하지 않은 수정으로부터 보호되도록 할 수 있습니다. .
위 내용은 Go에서 불변 구조체를 어떻게 만들 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!