code: func readDirs(src string) ([]string, error) {
  	var files []string
  
  	err := filepath.Walk(src, func(path string, f os.FileInfo, err error) error {
  		relativePath := strings.TrimPrefix(path, src)
  		if len(relativePath) > 0 {
  			files = append(files, relativePath)
  		}
  		return nil
  	})
  	if err != nil {
  		return nil, err
  	}
  	return files, nil
  }
docs: // readDirs reads the source directory recursively and
  // returns relative paths to all files and empty directories.