堆Pop方法两种实现方式的区别

1. 问题描述?

在实现golang的container/heap 的实现,下面两种方法有啥区别,哪种方法更好呢?为什么?
方法一:

func (h *IntHeap) Pop() interface{} {
    old := *h
    n := len(old)
    x := old[n-1]
    *h = old[0 : n-1]
    return x
}

方法二:

func (h *IntHeap) Pop() interface{} {
   ca1 := len(*h) - 1
  x := (*h)[ca1]
   *h = (*h)[0:ca1]
   return x
}
Mosquito
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!