其中,主要操作如下:
PS. 注意没有插入操作,只有添加,删除,查找,修改操作。
type ArrayInterface interface {
// 添加
Add(int, interface{}) // 插入元素
AddLast(interface{})
AddFirst(interface{})
// 删除
Remove(int) interface{}
RemoveFirst() interface{}
RemoveLast() interface{}
// 查找
Find(interface{}) int // 查找元素返回第一个索引
FindAll(interface{}) []int // 查找元素返回所有索引
Contains(interface{}) bool // 查找是否存在元素
Get(int) interface{}
// 修改
Set(int, interface{})
// 基本方法
GetCapacity() int // 获得数组容量
GetSize() int // 获得元素个数
IsEmpty() bool // 查看数组是否为空
}
// 附录1
// 附录4
Q:golang的slice动态扩展实现为何不用动态链表?
A:对内存不优化,有gc压力。
原文:https://www.cnblogs.com/yudidi/p/12614277.html