go每日一庫 home dir 獲取使用者主目錄

2022-09-02 08:54:12 字數 1096 閱讀 6250

我的部落格|文章首發

顧名思義,go-homedir用來獲取使用者的主目錄。實際上,通過使用標準庫os/user我們也可以得到內容,使用以下方式

package main

import (

"fmt"

"log"

"os/user"

)func main()

fmt.println("home dir:", u.homedir)

}

控制台輸出

home dir: c:\users\administrator

內建os/user軟體包在darwin系統上需要cgo。這意味著任何使用該軟體包的go**都無法交叉編譯。但是99%的使用時間os/user只是用於檢索主目錄,我們可以在沒有cgo的情況下為當前使用者執行此操作。該庫可以做到這一點,從而可以進行交叉編譯。

go-homedir有兩個功能:

下面我們通過乙個案例進行說明

">func homediruse() 

fmt.println("home dir:", dir)

dir = "~/parentroot/childroot"

expandeddir, err := homedir.expand(dir)

if err != nil

fmt.printf("expand of %s is: %s\n", dir, expandeddir)

}

控制台輸出

home dir: c:\users\administrator

expand of ~/parentroot/childroot is: c:\users\administrator\parentroot\childroot

home dir 是當前使用者主目錄,在linux下對應/home/目錄

expandof將~轉換成使用者主目錄位址,後台跟自己的位址進行拼接

Go 每日一庫之 go homedir

公尺妮 m.amini.net 今天我們來看乙個很小,很實用的庫go homedir。顧名思義,go homedir用來獲取使用者的主目錄。實際上,使用標準庫os user我們也可以得到這個資訊 package main import fmt log os user func main fmt.pr...

Go 每日一庫之 quicktemplate

最近在整理我們專案 的時候,發現有很多活動的 在結構和提供的功能上都非常相似。為了方便今後的開發,我花了一點時間編寫了乙個生成 框架的工具,最大程度地降低重複勞動。本身並不複雜,且與專案 關聯性較大,這裡就不展開介紹了。在這個過程中,我發現 go 標準的模板庫text template和html t...

Go每日一題 6

以下 是否編譯通過 package main import fmt type myint1 inttype myint2 int func main 輸出結果 編譯不通過,cannot use i type int as type myint1 in assignment。myint1 和 myin...