Что эквивалентно 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
Ответы
Ответ 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).
Ответ 2
Используйте фрагменты.
Подробнее о распространенных идиомах среза см. страницу вики-хитов" Slice Tricks.
Ответ 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"})