解決Go程序中的“不支持索引”錯誤

如果您正在閱讀這篇文章,則可能是在Google上搜索如何解決此問題:您正在將指針傳遞給slice或者map在一個函數中,並在引用一個項目時*variable[0],您會收到該錯誤。

我該如何解決?

解決方案很簡單:不用使用

*variable[0]

使用

(*variable)[0]

為什麼我會收到這個奇怪的錯誤? 🤔

*variable[0]Go編譯器將其解釋為*(variable[0])。因此,您要告訴編譯器要做的是,獲取片中的第一個元素或鍵為0的映射項,然後取消對該指針的引用。

這說明了錯誤:variable在這種情況下,它是一個指針,而不是一個值,因此您無法獲取指向地址的指針的[0]項,您需要先對其取消引用以獲取該值,這是我認為您正在嘗試的第一名。


更多教程: