Устранение ошибки "не поддерживает индексацию" в программе Go

Если вы читаете этот пост, вы, вероятно, ищете в Google, как решить эту проблему: вы передаете указатель наsliceили жеmapв функции и при ссылке на элемент с*variable[0], вы получите эту ошибку.

Как мне это решить?

Решение простое: вместо использования

*variable[0]

использовать

(*variable)[0]

Почему я получаю эту странную ошибку? 🤔

*variable[0]интерпретируется компилятором Go как*(variable[0]). Итак, вы говорите компилятору: получить первый элемент в срезе или элемент карты с ключом 0 и разыменовать этот указатель.

Это объясняет ошибку:variableв этом контексте это указатель, а не значение, поэтому вы не можете получить элемент [0] указателя на адрес, вам нужно сначала разыменовать его, чтобы получить значение, что, как я думаю, вы пытаетесь сделать в первое место.


Больше руководств по go: