Go 切片实现栈

Posted 知其黑、受其白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go 切片实现栈相关的知识,希望对你有一定的参考价值。

栈:先进后出

package main

import "fmt"

type stack struct 
	data []int


// 入栈
func (s *stack) Push(n int) 
	s.data = append(s.data, n)


// 出栈
func (s *stack) Pop() (int, bool) 
	if len(s.data) == 0 
		return 0, false
	
	n := s.data[len(s.data)-1]
	s.data = s.data[:len(s.data)-1]
	return n, true

func main() 
	s := stack
	// 入栈
	s.Push(1)
	s.Push(2)
	s.Push(3)

	// 出栈
	for len(s.data) > 0 
		n, ok := s.Pop()
		if ok 
			fmt.Println(n)
		
	

以上是关于Go 切片实现栈的主要内容,如果未能解决你的问题,请参考以下文章

Go语言golang调用sort.Slice实现struct切片的快速排序

后端开发总结:go语言的知识点

golang 目录

Go语言基础之切片

go语言(golang)学习之路

Golang✔️走进 Go 语言✔️ 第十二课 结构体 & 切片