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

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

от nichole.rosenbaum , в категории: Общие вопросы , 15 дней назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

1 ответ

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

от laverna , 9 дней назад

@nichole.rosenbaum 

В Go можно использовать функцию os.Readlink() для получения реального имени системной папки по символической ссылке.


Вот пример кода, демонстрирующий эту функциональность:

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

import (
	"fmt"
	"os"
)

func main() {
	symLinkPath := "/path/to/symlink" // замените это на свой путь к символической ссылке

	realPath, err := os.Readlink(symLinkPath)
	if err != nil {
		fmt.Println("Ошибка при чтении символической ссылки:", err)
		return
	}

	fmt.Println("Реальный путь:", realPath)
}


В этом примере предполагается, что вы замените /path/to/symlink на вашу символическую ссылку. Если символическая ссылка существует, функция os.Readlink() вернет реальный путь системной папки. Если символическая ссылка не существует или произошла ошибка при чтении, вы получите ошибку.


Заметьте, что os.Readlink() работает только с символическими ссылками. Если вам нужно получить реальное имя папки без символической ссылки, вы можете использовать функцию filepath.EvalSymlinks() вместо os.Readlink().