解决Go程序中的“不支持索引”错误

如果您正在阅读这篇文章,则可能是在Google上搜索如何解决此问题:您正在将指针传递给slice或者map在一个函数中,并在引用一个项目时*variable[0],您会收到该错误。

我该如何解决?

解决方案很简单:不用使用

*variable[0]

使用

(*variable)[0]

为什么我会收到这个奇怪的错误? 🤔

*variable[0]Go编译器将其解释为*(variable[0])。因此,您要告诉编译器要做的是,获取片中的第一个元素或键为0的映射项,然后取消对该指针的引用。

这说明了错误:variable在这种情况下,它是一个指针,而不是一个值,因此您无法获取指向地址的指针的[0]项,您需要先对其取消引用以获取该值,这是我认为您正在尝试的第一名。


更多教程: