ioutil.ReadDir возвращает []
fs.FileInfo
Это интерфейс, выглядит вот так
type FileInfo interface {
Name() string // base name of the file
Size() int64 // length in bytes for regular files; system-dependent for others
Mode() FileMode // file mode bits
ModTime() time.Time // modification time
IsDir() bool // abbreviation for Mode().IsDir()
Sys() interface{} // underlying data source (can return nil)
}
Т.е. в вашем случае filepath.Ext(string(fileDir)) можно заменить на filepath.Ext(fileDir.Name())
Это то, что нужно или нужно что-то другое?
По примеру кода не совсем понятно для чего вам нужно приведение к os.FileInfo/string.
Посмотрел
os.FileInfo
Он определён как
type FileInfo = fs.FileInfo
Т.е. грубо это тот же интерфейс, методы которого можно вызывать точно также.