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 중국어 웹사이트의 기타 관련 기사를 참조하세요!