> 백엔드 개발 > Golang > Go Maps에서 '잘못된 메모리 주소 또는 nil 포인터 역참조' 오류를 해결하는 방법은 무엇입니까?

Go Maps에서 '잘못된 메모리 주소 또는 nil 포인터 역참조' 오류를 해결하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-11 04:52:11
원래의
423명이 탐색했습니다.

How to Resolve

Go map[string]*type에서 잘못된 메모리 주소 또는 nil 포인터 역참조

맵의 값에 액세스하려고 하면 "잘못된 메모리 주소 또는 nil 포인터 역참조" 오류가 발생할 수 있습니다. 이 오류는 쿼리 중인 키가 맵 내에 존재하지 않거나 해당 키에 저장된 값이 nil 포인터인 경우에 발생합니다.

이 특정 경우에 코드는 맵 내의 "id" 키에 액세스하려고 시도합니다. "상태" 지도. 그러나 "조건" 맵은 키-값 쌍이 없는 빈 맵으로 초기화됩니다. 따라서 "condition['id']"에 액세스하려고 하면 키가 존재하지 않으며 nil 포인터에 액세스하려고 시도합니다. 이로 인해 "잘못된 메모리 주소 또는 nil 포인터 역참조" 오류가 발생합니다.

이 문제를 해결하려면 "조건" 맵을 초기화하고 액세스를 시도하기 전에 "id" 키 값을 설정하면 됩니다. 예를 들면 다음과 같습니다.

// Initialize the condition map
condition = make(map[string]*guardduty.Condition)

// Set the value of the "id" key
condition["id"] = &guardduty.Condition{
    Equals: aws.StringSlice(findingId),
}
로그인 후 복사

지도를 초기화하고 "id" 키 값을 설정하면 이제 오류 없이 안전하게 액세스할 수 있습니다.

위 내용은 Go Maps에서 '잘못된 메모리 주소 또는 nil 포인터 역참조' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿