如何在Golang中獲取當前使用者名稱和目錄?
有時我們需要知道哪個使用者正在執行當前程式,以及程式位於哪個目錄。我們可以藉助Go標準庫中**os**包裡的**user**包獲取這些資訊。
本文將探討三種情況:首先,我們將記錄正在執行當前程序的**使用者名稱**;然後,我們將記錄**使用者名稱**和**使用者ID**;最後,我們將記錄當前程式所在的**目錄**。
獲取使用者名稱
要獲取**使用者名稱**,我們只需呼叫**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)
}輸出
如果我們在上述程式碼上執行命令**go run main.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)
}輸出
如果我們在上述程式碼上執行命令**go run main.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)
}
輸出
如果我們在上述程式碼上執行命令**go run main.go**,則會在終端中得到以下輸出。
dir is: /usr/share/httpd
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP