首頁 >後端開發 >Golang >如何解決 Go Maps 中的「無效記憶體位址或 nil 指標取消引用」錯誤?

如何解決 Go Maps 中的「無效記憶體位址或 nil 指標取消引用」錯誤?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-11 04:52:11394瀏覽

How to Resolve

Go 中無效的記憶體位址或nil 指標取消引用map[string]*type

當嘗試存取映射中的值時,您可能會遇到錯誤「無效的記憶體位址或零指標取消引用」。當要查詢的鍵在映射中不存在或儲存在該鍵中的值是零指標時,就會發生此錯誤。

在這種特定情況下,程式碼嘗試存取映射中的「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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn