code: func Paths(path string, recurse bool) (paths []string, err error) {
  	err = filepath.Walk(path, func(f string, info os.FileInfo, err error) error {
  		if !recurse {
  			if path != f && path != filepath.Dir(f) {
  				return filepath.SkipDir
  			}
  		}
  		paths = append(paths, f)
  		return nil
  	})
  	return paths, err
  }
docs: // Paths returns a sorted list of files contained at path. If recurse is true
  // and path is a directory, then Paths will walk the directory structure
  // recursively and list files at each level.