Функция os.MkdirTemp
Функция os.MkdirTemp создает новую временную директорию
в указанной директории. Она возвращает путь к созданной
директории и ошибку. Первым параметром функция принимает
директорию, в которой нужно создать временную директорию,
вторым параметром - шаблон для имени создаваемой директории.
Если первый параметр передать как пустую строку, то
директория будет создана в стандартной временной директории
операционной системы (обычно /tmp в Unix-системах).
В шаблоне можно использовать символ *, который будет
заменен на случайную строку для обеспечения уникальности
имени.
Синтаксис
os.MkdirTemp(dir, pattern)
Пример
Давайте создадим временную директорию в системной
временной папке с шаблоном "example-*":
package main
import (
"fmt"
"os"
)
func main() {
dir, err := os.MkdirTemp("", "example-*")
if err != nil {
fmt.Println(err)
return
}
defer os.RemoveAll(dir)
fmt.Println(dir)
}
Результат выполнения кода:
"/tmp/example-123456789"
Пример
Давайте создадим временную директорию в указанной папке
"./tmp" с шаблоном "app-*":
package main
import (
"fmt"
"os"
)
func main() {
dir, err := os.MkdirTemp("./tmp", "app-*")
if err != nil {
fmt.Println(err)
return
}
defer os.RemoveAll(dir)
fmt.Println(dir)
}
Результат выполнения кода:
"tmp/app-987654321"
Пример
Давайте создадим временную директорию и проверим, что она действительно была создана:
package main
import (
"fmt"
"os"
)
func main() {
dir, err := os.MkdirTemp("", "test-*")
if err != nil {
fmt.Println(err)
return
}
defer os.RemoveAll(dir)
info, err := os.Stat(dir)
if err != nil {
fmt.Println(err)
return
}
if info.IsDir() {
fmt.Println("Directory created:", dir)
}
}
Результат выполнения кода:
"Directory created: /tmp/test-123456789"
Смотрите также
-
функцию
os.CreateTemp,
которая создает временный файл -
функцию
os.Mkdir,
которая создает одну директорию -
функцию
os.MkdirAll,
которая создает директорию и все родительские директории -
функцию
os.RemoveAll,
которая удаляет директорию и все ее содержимое