Golang 获取目录所属用户和组
在 Go 语言中,可以使用 os 包中的 Stat 和 Lstat 函数获取文件或目录的信息,包括所属用户和组。
示例代码如下:
package main
import (
"fmt"
"os"
)
func main() {
fi, err := os.Lstat("/path/to/dir")
if err != nil {
fmt.Println(err)
return
}
stat := fi.Sys().(*syscall.Stat_t)
uid := stat.Uid
gid := stat.Gid
fmt.Printf("Directory owner: %d\n", uid)
fmt.Printf("Directory group: %d\n", gid)
}
其中,Lstat 函数返回一个 FileInfo 对象,通过调用其 Sys 方法可以获取系统相关的信息,如 Unix 系统中的 stat 结构体。需要注意的是,Sys 方法返回的是一个 interface{} 类型的值,需要通过类型断言转换为实际的结构体类型。在 Unix 系统中,stat 结构体中包含了 uid 和 gid 字段,分别表示文件或目录的所属用户和组。
原文地址: https://www.cveoy.top/t/topic/kV7g 著作权归作者所有。请勿转载和采集!