24

私の特定のユースケースでは、次のJavaコードがGoでどのように実装されるかを知りたいです-

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

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

私は始めましたが、これが Go の Channel に適した構造体になると思います -

struct Channel {
    name string
}

GoでArrayListがどのように機能するかを知る必要があるだけです

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.golang.org) と言語仕様 (golang.org/ref/spec、#Slice_types、#Slices、および #Appending_and_copying_slices を参照) もあります。

于 2012-04-08T06:29:04.253 に答える
1

スライスを使用します。

一般的なスライスのイディオムの詳細については、「Slice Tricks」wiki ページを参照してください。

于 2012-04-10T01:16:04.487 に答える