package service import ( "os" "path/filepath" ) func dirSize(root string) (int64, error) { var size int64 err := filepath.WalkDir(root, func(path string, d os.DirEntry, err error) error { if err != nil { return err } if d.IsDir() { return nil } info, err := d.Info() if err != nil { return err } size += info.Size() return nil }) if err != nil && os.IsNotExist(err) { return 0, nil } return size, err }