type MultiPlyFunc func(int, int) int func multiply1(a, b int) int { return a * b } func multiply2(a, b int) int { return a << b } func exctTime(f MultiPlyFunc) MultiPlyFunc { return func(a, b int) int { start := time.Now() c := f(a, b) end := time.Since(start) fmt.Printf("---执行耗时:%v ---\n", end) return c } } func main() { a := 2 b := 8 fmt.Println("算术运算:") decorator := exctTime(multiply1) c := decorator(a, b) fmt.Printf("%d x %d = %d\n", a, b, c) fmt.Println("位运算: ") decorator2 := e...