Go 中的 LIFO 容器

我需要使用具有推送和弹出操作的 LIFO 堆栈容器,但container包没有。它应该由每个程序员临时编写,还是有一种方法可以使用其他数据结构作为堆栈(如 python 中的列表)?


POPMUISE
浏览 150回答 2
2回答

慕运维8079593

Go 或标准库中没有内置堆栈类型。但是,您可以非常简单地将 Push 和 Pop 方法添加到切片中(与 Python 中列表上的现有方法不同)。type Stack []YourTypefunc (s *Stack) Push(v YourType) {    *s = append(*s, v)}func (s *Stack) Pop() YourType {    ret := (*s)[len(*s)-1]    *s = (*s)[0:len(*s)-1]    return ret}很简单
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go