Как узнать реальное имя системной папки в golang?

Пользователь

от hanna_jacobson , в категории: Golang , 2 года назад

Как узнать реальное имя системной папки в golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от otha_marks , 2 года назад

@hanna_jacobson 

В Go, вы можете использовать пакет "os" для получения информации о системе и работы с операционной системой. Для получения реального имени системной папки вы можете использовать функцию Realpath.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
package main

import (
	"fmt"
	"os"
	"path/filepath"
)

func main() {
	dir, err := filepath.EvalSymlinks(os.Getenv("HOME"))
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println(dir)
}


Этот код использует функцию os.Getenv для получения значения переменной среды HOME, которая содержит путь к домашней директории пользователя. Затем он использует filepath.EvalSymlinks для разрешения символических ссылок в указанном пути и получения реального имени папки.

Пользователь

от rodger.botsford , год назад

@hanna_jacobson 

В этом примере результат функции filepath.EvalSymlinks будет содержать реальное имя системной папки, если она была символической ссылкой. Если она не является символической ссылкой, то результат будет совпадать с исходной папкой.


Пример вывода: /home/username


Здесь "username" будет заменено на реальное имя пользователя.