Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ArrayList的等价物是什么<;E>;在戈兰?_Java_Arraylist_Go - Fatal编程技术网

Java ArrayList的等价物是什么<;E>;在戈兰?

Java ArrayList的等价物是什么<;E>;在戈兰?,java,arraylist,go,Java,Arraylist,Go,在我的特定用例中,我想知道以下Java代码将如何在Go中实现- class Channel { public String name; public Channel(){} } ArrayList<Channel> channels = new ArrayList<Channel>(); 我只需要知道ArrayList在Go中如何工作使用切片: var channels []Channel // an empty list channels = ap

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

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

ArrayList<Channel> channels = new ArrayList<Channel>();
我只需要知道ArrayList在Go中如何工作

使用切片:

var channels []Channel  // an empty list
channels = append(channels, Channel{name:"some channel name"})
此外,您的频道声明稍有偏差,您需要“type”关键字:

type Channel struct {
    name string
}
下面是一个完整的示例:

有关更多信息,请参阅

还有go tour(tour.golang.org)和语言规范(golang.org/ref/spec,参见#切片类型、#切片和#附加和#复制切片)。

使用切片


有关常用切片习惯用法的详细信息,请参阅。

这很有效

//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"})

a=append(a[:i],a[i+1:]…)
如果您只想从前面或后面删除一个,那么就更容易了:a=a[1:]或a=a[:len(a)-2]Mostafa允许您从切片中间删除一个。最好的一点是,在这些情况下,append甚至不需要调整切片的大小,因此它只是一个就地修改。如果不关心列表的顺序,元素删除可以是固定时间。从末尾提取元素,将其复制到要删除的元素索引中,然后将切片长度减少1。另请参见golang中的.Does append()以摊销常量时间运行,如ArrayList.add()?
//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"})