Golang operating system: Difference between revisions

From wikinotes
 
Line 25: Line 25:


usr, err := user.Lookup("will")
usr, err := user.Lookup("will")
if errors.Is(err, user.UnknownUserError) {...}
if errors.Is(err, user.UnknownUserError) {...}
fmt.Println(usr.Uid)
fmt.Println(usr.Uid)
user.Current()  // 'will'
</syntaxhighlight>
</syntaxhighlight>



Latest revision as of 13:27, 18 June 2022

Host Info

import "os"

host, err := os.Hostname()

runtime exposes uname-like info

import "runtime"

runtime.GOOS    // platform (ex. 'linux')
runtime.GOARCH  // executable's target cpu arch (ex. 'amd64')

Users, Groups

User info is exposed by a struct of passwd info.

import "os/user"

usr, err := user.Lookup("will")
if errors.Is(err, user.UnknownUserError) {...}
fmt.Println(usr.Uid)

user.Current()  // 'will'
import "os/user"

grp, err := user.LookupGroup("audio")
if errors.Is(err, user.UnknownGroupError) {...}
fmt.Println(grp.Gid)