概念: 具有一定操作约束性(先入后出)的线性表。
* 堆栈常用操作
1. 出栈 func (this *Mans) Pop() ElementType
2. 入栈 func (this *Mans) Push(man El
package main
import "fmt"
type ElementType struct {
Name string //姓名
IDNumber string //身份证号
Sex bool //性别
}
type Mans []ElementType
// 出栈
func (this *Mans) Pop() ElementType {
if len(*this) == 0 {
panic("栈空了")
}
temp := (*this)[len(*this)-1]
(*this) = (*this)[:len(*this)-1]
return temp
}
// 入栈
func (this *Mans) Push(man ElementType) {
*this = append((*this), man)
}
func main() {
var mans Mans
mans.Push(ElementType{Name: "xiao1", IDNumber: "123123", Sex: false})
fmt.Println(mans.Pop())
}
ementType)
|