golang实现 getgrent
在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错误,表示已经到达了文件末尾
原文地址: http://www.cveoy.top/t/topic/c2eF 著作权归作者所有。请勿转载和采集!