如何在 Golang 中获取当前用户名和目录?
有时我们想知道哪个用户正在执行当前程序以及在哪个目录中,我们可以借助Go标准库的os包中的user包来获取所有这些详细信息。
在这篇文章中,我们将探讨三种这样的情况,首先,我们将执行当前进程的用户名注销,然后我们将名称和id一起注销,最后我们从执行当前进程的目录中注销。当前程序位于。
获取用户名
要获取username,我们只需调用Current()将返回当前用户的函数。考虑下面显示的代码。
package main
import (
"fmt"
"log"
"os/user"
)
func main() {
currentUser, err := user.Current()
if err != nil {
log.Fatalf(err.Error())
}
username := currentUser.Username
fmt.Printf("Username is: %s\n", username)
}输出结果如果我们在上面的代码上运行gorunmain.go命令,那么我们将在终端中得到以下输出。
Username is: apache
获取名称和ID
要获取用户名和id,我们分别调用当前用户的Name()和Uid()函数。考虑下面显示的代码。
package main
import (
"fmt"
"log"
"os/user"
)
func main() {
currentUser, err := user.Current()
if err != nil {
log.Fatalf(err.Error())
}
name := currentUser.Name
id := currentUser.Uid
fmt.Printf("name is: %s and id is: %s\n", name, id)
}输出结果如果我们在上面的代码上运行gorunmain.go命令,那么我们将在终端中得到以下输出。
name is: Apache and id is: 48
获取当前目录
要获取当前目录,我们只需要调用HomeDir()当前用户的函数即可。考虑下面显示的代码。
package main
import (
"fmt"
"log"
"os/user"
)
func main() {
currentUser, err := user.Current()
if err != nil {
log.Fatalf(err.Error())
}
dir := currentUser.HomeDir
fmt.Printf("dir is: %s\n", dir)
}输出结果如果我们在上面的代码上运行gorunmain.go命令,那么我们将在终端中得到以下输出。
dir is: /usr/share/httpd
热门推荐
10 圣诞祝福语简短小学
11 祖国七十华诞简短祝福语
12 老师送的祝福语简短
13 生日祝福语大全女生简短
14 祝女性生日祝福语简短
15 牛年女神节祝福语简短
16 情人表白祝福语简短大气
17 老公开业祝福语简短
18 官宣新年祝福语简短