24

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

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

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

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

struct Channel {
    name string
}

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

4

2 回答 2

45

使用切片:

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

此外,您的 Channel 声明稍有偏差,您需要 'type' 关键字:

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)。

于 2012-04-08T06:29:04.253 回答
1

使用切片。

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

于 2012-04-10T01:16:04.487 回答