Golang 中的 Java ArrayList<E>等效项是什么?

2022-09-01 18:43:43

在我的特定用例中,我想知道如何在Go中实现以下Java代码 -

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

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

我已经开始了,我认为这将是Go中的Channel的合适结构 -

struct Channel {
    name string
}

我只需要知道ArrayList在Go中是如何工作的


答案 1

使用切片:

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

此外,您的频道声明略有偏差,您需要“类型”关键字:

type Channel struct {
    name string
}

下面是一个完整的示例:http://play.golang.org/p/HnQ30wOftb

有关详细信息,请参阅切片一文

还有 go tour(tour.golang.org)和语言规范(golang.org/ref/spec,请参阅 #Slice_types、#Slices 和 #Appending_and_copying_slices)。


答案 2

使用切片。

有关常见切片习语的详细信息,请参阅“切片技巧”wiki 页面


推荐