程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何(简洁地)从Go中的切片中删除第一个元素?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何(简洁地)从Go中的切片中删除第一个元素??

开发过程中遇到如何(简洁地)从Go中的切片中删除第一个元素?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何(简洁地)从Go中的切片中删除第一个元素?的解决方法建议,希望对你解决如何(简洁地)从Go中的切片中删除第一个元素?有所启发或帮助;

你尝试过这些吗?

从队列弹出

x, a = a[0], a[1:]

从堆栈弹出

x, a = a[len(a)-1], a[:len(a)-1]

a = append(a, X)

来自:https ://code.google.com/p/go-wiki/wiki/SliCETricks

解决方法

我在Go中建立了一个简单的队列。它使用内部切片来跟踪其元素。通过附加到切片将元素推入队列。我想.Pop()通过删除中的第一个元素来实现elements

在许多其他语言中,“弹出”列表的第一个元素是一个单行,这使我相信下面的实现是草率而冗长的。有没有更好的办法?

type Queue struct {
    elements []interface{}
}

func (queue *QueuE) Push(element interface{}) {
    queue.elements = append(queue.elements,element)
}

func (queue *QueuE) Pop() interface{} {
    element := queue.elements[0]
    if len(queue.elements) > 1 {
        queue.elements = queue.elements[1:]
    } else {
        queue.elements = make([]interface{},0)
    }
    return element
}

请注意,Queue如果,我会感到恐慌len(queue.elements) == 0。我不检查界限不是疏忽大意。

大佬总结

以上是大佬教程为你收集整理的如何(简洁地)从Go中的切片中删除第一个元素?全部内容,希望文章能够帮你解决如何(简洁地)从Go中的切片中删除第一个元素?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。