type Slice []int
func NewSlice() Slice {
return make(Slice, 0)
}
func (s* Slice) Add(elem int) *Slice {
*s = append(*s, elem)
fmt.Print(elem)
return s
}
func main() {
s := NewSlice()
defer s.Add(1).Add(2)
s.Add(3)
这段代码返回的结果是 132,一直不明白为什么返回的是132,如果不加Add(2)就返回的是 31,加了后defer怎么就跑前面去执行的,一直没弄明白,
谁能开导开导我。。