Stat
возвращает информацию о целевом файле, Lstat
возвращает информацию о самой символической ссылке.
Вся информация содержится в битах режима файла.Вы можете использовать предопределенные константы в пакете os
, чтобы проверить типы режимов, которые вас интересуют.
Например, если вы передадите fileInfo
из os.Stat("/path/to/symlink")
в следующий код, он будет НЕ говорят, что это символическая ссылка.Однако, если вы передадите возвращаемое значение os.Lstat
, оно будет:
if fileInfo.Mode()&os.ModeSymlink != 0 {
fmt.Println(fileInfo.Name(), "is a symlink")
}