Поддерживает ли Go методы индексации?

#go

# #Вперед

Вопрос:

Многие языки программирования имеют индексаторы, которые позволяют индексировать экземпляры класса или структуры точно так же, как массивы. Возможно ли это в Go? как это называется и как это реализовано?

Методы индексатора в C #: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/indexers /

 SomeReturnType this[int i]
{
    get
    {
        return SomeField[i];
    }
    set
    {
        SomeField[i] = value;
    }
}
 

Ответ №1:

Нет, это не так. Лучшее, что у вас может быть, это срез и работа с ним.

Я ответил на вопрос, поскольку многие люди, переходящие с других языков, учатся таким образом, пытаясь что-то реализовать. И документы не предлагают сравнения ограничений, которые go имеет по сравнению с другими языками

Комментарии:

1. можно ли его использовать в классах?

2. @DreamsMaker в Go есть только структуры. Но он не может использоваться в структурах таким же образом. Вы можете использовать фрагмент, например, более надежный и мощный массив, который предлагает Go

3. @DreamsMaker: в Go нет классов, так что нет.