Функция os.Getwd
Функция os.Getwd возвращает абсолютный путь к текущей рабочей директории.
Она возвращает два значения: строку с путем и ошибку типа error.
Если функция выполняется успешно, ошибка будет равна nil.
В противном случае возвращается пустая строка и соответствующая ошибка.
Синтаксис
os.Getwd()
Пример
Давайте получим путь к текущей рабочей директории и выведем его:
package main
import (
"fmt"
"os"
)
func main() {
dir, err := os.Getwd()
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println(dir)
}
Результат выполнения кода (путь будет зависеть от вашей системы):
"/home/user/project"
Пример
Обработаем ошибку, которая может возникнуть при получении текущей директории:
package main
import (
"fmt"
"os"
)
func main() {
dir, err := os.Getwd()
if err != nil {
fmt.Printf("Failed to get current directory: %v\n", err)
return
}
fmt.Printf("Current directory: %s\n", dir)
}
Результат выполнения кода:
"Current directory: /home/user/project"
Пример
Используем полученный путь для построения абсолютного пути к файлу с помощью filepath.Join:
package main
import (
"fmt"
"os"
"path/filepath"
)
func main() {
dir, err := os.Getwd()
if err != nil {
fmt.Println("Error:", err)
return
}
filePath := filepath.Join(dir, "config.yaml")
fmt.Println(filePath)
}
Результат выполнения кода:
"/home/user/project/config.yaml"
Смотрите также
-
функцию
os.Chdir,
которая изменяет текущую рабочую директорию -
функцию
os.Stat,
которая получает информацию о файле или директории -
функцию
os.Mkdir,
которая создает новую директорию -
функцию
filepath.Abs,
которая возвращает абсолютный путь к файлу