Подтвердить что ты не робот

Что эквивалентно Java ArrayList <E> в Голанге?

В моем конкретном случае использования я хотел бы знать, как следующий код Java будет реализован в Go -

class Channel {
    public String name;
    public Channel(){}
}

ArrayList<Channel> channels = new ArrayList<Channel>();

Я начал, и я думаю, что это будет подходящая структура для Channel in Go -

type Channel struct {
    Name string
}

Мне просто нужно знать, как ArrayList будет работать в Go

4b9b3361

Ответ 1

Используйте срез:

var channels []Channel  // an empty list
channels = append(channels, Channel{name:"some channel name"})

Кроме того, ваше объявление канала слегка выключено, вам нужно ключевое слово 'type':

type Channel struct {
    name string
}

Вот полный пример: http://play.golang.org/p/HnQ30wOftb

Для получения дополнительной информации см. статью фрагментов.

Там также есть тур (tour.golang.org) и спецификация языка (golang.org/ref/spec, см. #Slice_types, #Slices и #Appending_and_copying_slices).

Ответ 3

Это работает

//make the object Channel
type Channel struct {
    name    string
}

// a empty list
var channels = []*Channel {}

//and finally add this object
channels = append(channels, Channel{name:"juan carlos anez mejias"})