在Go语言中,可以使用os/user包中的Getgrent()函数来实现获取系统中所有组的信息。该函数返回一个*user.Group类型的结构体指针,包含了组的名称、GID、组员等信息。

以下是一个示例代码:

package main

import (
    "fmt"
    "os/user"
)

func main() {
    for {
        group, err := user.Getgrent()
        if err != nil {
            fmt.Println(err)
            break
        }
        fmt.Printf("%s:%s:%d:", group.Name, group.Gid, group.Members)
        for _, member := range group.Members {
            fmt.Printf("%s,", member)
        }
        fmt.Println()
    }
}

该代码会循环遍历所有组的信息,并输出每个组的名称、GID和组员。其中,user.Getgrent()函数会在每次调用时返回下一个组的信息,直到没有更多的组为止。在遍历完成后,该函数会返回一个io.EOF错误,表示已经到达了文件末尾

golang实现 getgrent

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

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