Я пытаюсь проверить, нет ли в каталоге файла с расширением .rpm. Я не буду знать заранее, какое имя файла, и в каждом каталоге будет несколько файлов.
Вот мой код:
import {
"fmt"
"os"
"path/filepath"
}
func main() {
dirname := "." + string(filepath.Separator)
d, err := os.Open(dirname)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
defer d.Close()
files, err := d.Readdir(-1)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
fmt.Print("\n" + "Reading " + dirname)
for _, file := range files {
if file.Mode().IsRegular() {
// TODO: if rpm file not present, print no rpm file found
if filepath.Ext(file.Name()) == ".rpm" {
fmt.Println(file.Name() + "\n")
f, err := os.Open(file.Name())
if err != nil {
panic(err)
}
}
}
}
}
Приведенный выше код откроет любые файлы .rpm в текущем каталоге. ,
Я хочу проверить следующее: если файл «.rpm» не существует в списке файлов текущего каталога, выведите «rpm not not» и os.Exit.
Я пробовал этот код:
if filepath.Ext(file.Name()) != ".rpm" {
fmt.Println("no rpm found")
}
и я пытался использовать
if filepath.Ext(file.Name()) == ".rpm" {
... *code above* ...
} else {
fmt.Println("ERR: RPM file does not exist")
}
Я сталкиваюсь с ошибкой, где, если другие файлы присутствуют без расширения .rpm, тогда появится сообщение об ошибке.
Как я могу go сделать это без предварительного указания имени файла?