1 package main 2 3 import "fmt" 4 //import OS "os" 5 //import "strings" 6 //import "path/filepath" 7 8 type Stack []interface{} 9 10 func (s *Stack)f() { 11 stack := *s 12 13 fmt.Printf("%p %d %d ", &s, len(stack), cap(stack)) 14 15 *s = stack[:len(stack) - 1] //减少 16 17 fmt.Printf("%p %d %d ", &s, len(*s), cap(*s)) 18 19 fmt.Printf("%p %d %d ", stack, len(stack), cap(stack)) 20 21 stack = append(stack, "e", "f") //增加 22 23 fmt.Printf("%p %d %d ",stack, len(stack), cap(stack)) 24 } 25 26 27 func main() { 28 var s Stack 29 s = append(s, "a", "b", "c", "d") 30 s.f() 31 fmt.Println(s) 32 fmt.Printf("%t ", false) 33 }