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

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

от stephon , в категории: Golang , 5 месяцев назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

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

от marisa , 5 месяцев назад

@stephon 

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


Вот пример кода, демонстрирующий использование os.Readlink():

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

import (
	"fmt"
	"log"
	"os"
)

func main() {
	linkPath := "/usr/local/bin/go"   // путь к символьной ссылке
	realPath, err := os.Readlink(linkPath)
	if err != nil {
		log.Fatal(err)
	}

	fmt.Printf("Real path of %s is %s
", linkPath, realPath)
}


В этом примере мы получаем реальный путь символьной ссылки "/usr/local/bin/go" и выводим его на экран. Если символьная ссылка не существует или произошла другая ошибка, программа выводит сообщение об ошибке и завершается.