path包中的一个小BUG

闲着没事翻pkg的源玛, 发现pkg/path/path.go中的 Clean方法,已经注明:The returned path ends in a slash only if it is the root "/". 但在Dir方法中

func Dir(path string) string {
  dir, _ := Split(path)
  dir = Clean(dir)
  last := len(dir) - 1
  if last > 0 && dir[last] == '/' {                        这里检查这行 这不是多余么?
    dir = dir[:last]
  }
  if dir == "" {
    dir = "."
  }
  return dir
}

共 1 个回复