golang中os/user包用法
os/user包允許使用者賬號通過使用者名稱或者使用者id查詢使用者
type UnknownUserError
type UnknownUserError string
func (e UnknownUserError) Error() string //當通過lookup無法查詢到某個使用者時,便會返回該錯誤.type UnknownUserIdError
type UnknownUserIdError int
func (e UnknownUserIdError) Error() string ////當通過lookup無法查詢到某個使用者id時,便會返回該錯誤.
type User
type User struct {
Uid string // user id
Gid string // primary group id
Username string
Name string
HomeDir string //使用者主目錄
}
func Current() (*User, error) //獲取當前使用者資訊
func Lookup(username string) (*User, error) //根據使用者名稱查詢使用者資訊
func LookupId(uid string) (*User, error) //根據使用者id查詢使用者資訊.
func main() { usr, err := user.Current() if err != nil { fmt.Println(err) } fmt.Println(usr.Gid) fmt.Println(usr.HomeDir) fmt.Println(usr.Name) fmt.Println(usr.Uid) fmt.Println(usr.Username) usr, _ = user.Lookup("root") //根據user name查詢使用者 fmt.Println(usr) usr, err = user.LookupId("1100") //根據userid查詢使用者 fmt.Println(usr, err) }
相關推薦
golang中os/user包用法
os/user包允許使用者賬號通過使用者名稱或者使用者id查詢使用者 type UnknownUserError type UnknownUserError string func (e UnknownUserError) Error() string //當通過
golang中os/exec包用法
exec包執行外部命令,它將os.StartProcess進行包裝使得它更容易對映到stdin和stdout,並且利用pipe連線i/o. func LookPath(file string) (string, error) //LookPath在環境變數中查詢科執行二進位
golang中archive/zip包用法
archive/zip包提供了zip歸檔檔案的讀寫操作。 在對zip包進行介紹之前,先說明一下zip和tar的區別。 二者都是對檔案進行歸檔,不進行壓縮。並且二者使用平臺不同,對於 Windows 平臺而言,最常用的格式是 zip 和 rar,國內大多數是用 rar,國外大
golang中os/signal包的使用
golang中os/signal包的使用 os/signal包實現對訊號的處理 golang中對訊號的處理主要使用os/signal包中的兩個方法:一個是notify方法用來監聽收到的訊號;一個是 stop方法用來取消監聽。 func Notify(c chan<
golang 中的 time 包的 Ticker
target spa tro int select con www 結果 div 真實的應用場景是:在測試收包的順序的時候,加了個 tick 就發現丟包了 那麽來看一個應用例子: package main import ( "fmt" "runtime"
golang中的bytes包
golang標準庫中提供了bytes包,該包幾乎和strings包給string提供的功能,只不過bytes包對應的是[]byte。和strings一樣,並不修改傳入變數,而是返回其副本修改之後的內容。 整個包分為以下幾種操作:轉換、比較、去除、分割、查詢、替換 一、轉換將s的副本中所有字元修改成大寫(小
golang中的flag包的使用
package flag import "flag" flag包實現了命令列引數的解析。 要求: 使用flag.String(), Bool(), Int()等函式註冊flag 本次使用flag.Stirng()來講解一些如何使用 1.首先根據程式碼來分析 pa
golang中recover和panic用法
golang中沒有try... catch...,所以當golang中遇到panic時,如果不進行recover,便會導致整個程式掛掉,具體例子如下: package main import ( "fmt" ) func main() { panic("fault
golang 中io包用法(一)
不同的 下一個 同時 顯示 cte () ews 執行 忽略 本文轉自Golove博客:http://www.cnblogs.com/golove/p/3276678.html io 包為I/O原語提供了基礎的接口.它主要包裝了這些原語的已有實現,如 os 包中的
golang 中strconv包用法
本文轉自Golove部落格:http://www.cnblogs.com/golove/p/3262925.html strconv 包中的函式和方法 // atob.go --------------------------------------------------
golang中io包用法(二)
io 包為I/O原語提供了基本的介面。它主要包裝了這些原語的已有實現。 由於這些介面和原語以不同的實現包裝了低階操作,因此除非另行通知,否則客戶端不應假定它們對於並行執行是安全的。 在io包中最重要的是兩個介面:Reader和Writer介面。本章所提到的各種IO包,都
golang中sort包用法
golang中也實現了排序演算法的包sort包. sort包中實現了3種基本的排序演算法:插入排序.快排和堆排序.和其他語言中一樣,這三種方式都是不公開的,他們只在sort包內部使用.所以使用者在使用sort包進行排序時無需考慮使用那種排序方式,sort.Interface
golang中image包用法
image包實現了一個基本的2D影象庫,該包中包含基本的介面叫做image,這個裡面包含color,這個將在image/color中描述, image介面的值建立方式有如下幾種: 1呼叫NewRGBA和NewPaletted 2解碼一個包含gif.jpen或者png格式的i
golang中time包用法
time包中包括兩類時間:時間點(某一時刻)和時常(某一段時間) 1時間常量(時間格式化) const ( ANSIC = "Mon Jan _2 15:04:05 2006" UnixDate = "Mon Jan _2 15:04:0
GoLang中fmt包的用法
package fmt import "fmt" mt包實現了類似C語言printf和scanf的格式化I/O。格式化verb('verb')源自C語言但更簡單。 Printing verb: 通用: %v 值的預設格式表示。當輸出結構體時,擴充套件標誌(%+v)
golang 中unicode包用法
本文轉自Golove部落格:http://www.cnblogs.com/golove/p/3273585.html unicode 包中的函式和方法 // latters.go const ( MaxRune = '\U0010FFFF' // Unicode 碼點最大值
GO_05_2:Golang 中 panic、recover、defer 的用法
log logs lan finall 可能 錯誤處理 錯誤 異常處理 auto 函數 defer 1. 它的執行方式類似其他語言中的折構函數,在函數體執行結束後按照調用順序的 相反順序 逐個執行 2. 即使函數發生 嚴重錯誤 也會被執行,類似於 java 中 t
golang中tcp socket粘包問題和處理
enc pack 獲取 人工 過程 reader 主動 exit ase 轉自:http://www.01happy.com/golang-tcp-socket-adhere/ 在用golang開發人工客服系統的時候碰到了粘包問題,那麽什麽是粘包呢?例如我們和客戶端約定數據
Go_20: Golang 中 time 包的使用
舉例 處理程序 計算表達式 時間格式化 停止 out str div ati time包中包括兩類時間:時間點(某一時刻)和時常(某一段時間) 1. 時間常量(時間格式化) const ( ANSIC = "Mon Jan _2 15:04:05 20
golang 中 sync包的 WaitGroup
eight ack family height 線程 var 等待 one span golang 中的 sync 包有一個很有用的功能,就是 WaitGroup 先說說 WaitGroup 的用途:它能夠一直等到所有的 goroutine 執行完成,並且阻塞主線程