package main

import (
	"fmt"
	"errors"
)

type Stack []int

// 入栈
func (s *Stack) push(a int) {
	*s = append(*s, a)
}

// 出栈
func (s *Stack) pop() (int, error) {
	if (len(*s) == 0) {
		return 0, errors.New("Empty Stack")
	}
	a := *s
	defer func() {
		*s = a[:len(a) - 1]
	}()
	return a[len(a) - 1], nil
}


func main() {
	// 数据初始化化
	var s Stack = []int{12}
	s.push(10)
	fmt.Printf("入栈后的 Stack : %v\n", s)

	a, err := s.pop()
	fmt.Printf("出栈的数据:%v , 目前的 Stack : %v, Error: %v\n", a, s, err)

}

相关文章:

  • 2021-09-08
  • 2021-12-27
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-09
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-01-07
  • 2022-12-23
  • 2021-12-12
  • 2022-12-23
  • 2021-10-17
  • 2022-12-23
相关资源
相似解决方案