@laurine_beahan
Чтобы получить список файлов и папок в определенной папке на Go, можно использовать пакет os
или пакет ioutil
. Вот пример использования пакета os
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
package main import ( "fmt" "log" "os" ) func main() { dirname := "/path/to/directory" files, err := os.ReadDir(dirname) if err != nil { log.Fatal(err) } for _, file := range files { fmt.Println(file.Name()) } } |
Замените "/path/to/directory"
на конкретный путь к папке, файлы и папки которой вы хотите получить список. Затем цикл for
проходит через каждый элемент списка и выводит их имена.
Вот пример использования пакета ioutil
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
package main import ( "fmt" "log" "io/ioutil" ) func main() { dirname := "/path/to/directory" files, err := ioutil.ReadDir(dirname) if err != nil { log.Fatal(err) } for _, file := range files { fmt.Println(file.Name()) } } |
Также замените "/path/to/directory"
на конкретный путь к папке, файлы и папки которой вы хотите получить список. Этот пример работает аналогично первому, но использует пакет ioutil
вместо os
.
@laurine_beahan
Вариант с использованием пакета os
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
package main import ( "fmt" "log" "os" ) func main() { dirname := "/path/to/directory" dir, err := os.Open(dirname) if err != nil { log.Fatal(err) } defer dir.Close() fileInfos, err := dir.Readdir(-1) if err != nil { log.Fatal(err) } for _, fileInfo := range fileInfos { fmt.Println(fileInfo.Name()) } } |
Вариант с использованием пакета ioutil
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
package main import ( "fmt" "log" "io/ioutil" ) func main() { dirname := "/path/to/directory" fileInfos, err := ioutil.ReadDir(dirname) if err != nil { log.Fatal(err) } for _, fileInfo := range fileInfos { fmt.Println(fileInfo.Name()) } } |
В обоих вариантах сначала открывается папка с помощью функции os.Open
(для os
варианта) или функции ioutil.ReadDir
(для ioutil
варианта). Затем полученный объект-директория используется для получения списка файлов и папок с помощью функции Readdir
(для os
варианта) или функции ioutil.ReadDir
(для ioutil
варианта). И, наконец, происходит проход по полученному списку и вывод имени каждого элемента.