package filetransfer import "os" func ListFiles(path string) ([]Item, error) { items, err := os.ReadDir(path) if err != nil { return nil, err } out := make([]Item, len(items)) for i, item := range items { var itemType ItemType var size int64 = 0 if item.IsDir() { itemType = ItemTypeDir } else { itemType = ItemTypeFile info, err := item.Info() if err == nil { size = info.Size() } } out[i] = Item{ Name: item.Name(), Type: itemType, Size: size, } } return out, nil }