Доступ к идентификатору группы файлов (GID) в Go
В Go функция os.Stat() извлекает информацию о файле, включая его систему -специфические атрибуты. Эта информация хранится в интерфейсе syscall.Sys. Хотя при печати интерфейса напрямую отображается GID, программный доступ к нему представляет собой проблему.
Чтобы получить GID в виде строки для систем Linux:
file_info, _ := os.Stat(abspath) file_sys := file_info.Sys() file_gid := fmt.Sprint(file_sys.(*syscall.Stat_t).Gid)
Интерфейс Sys() возвращает указатель на syscall.Stat_t. Приведение интерфейса к *syscall.Stat_t позволяет получить доступ к полю Gid. Преобразование результата в строку с помощью fmt.Sprint() возвращает GID в виде строки.
Альтернативно, чтобы получить доступ к GID как целому числу:
file_gid := int64(file_sys.(*syscall.Stat_t).Gid)
Приведение интерфейса к *syscall.Stat_t и извлечение Gid поле возвращает GID в виде целого числа.
Обратите внимание, что этот метод основан на деталях внутренней реализации пакета системных вызовов Go. По возможности рекомендуется использовать стандартные пакеты os или io для операций с файлами.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3