在 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 字段,分别表示文件或目录的所属用户和组。

Golang 获取目录所属用户和组

原文地址: https://www.cveoy.top/t/topic/kV7g 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录