Golang operating system: Difference between revisions
From wikinotes
Line 17: | Line 17: | ||
</blockquote><!-- Host Info --> | </blockquote><!-- Host Info --> | ||
= | = Users, Groups = | ||
<blockquote> | <blockquote> | ||
User info is exposed by a struct of passwd info. | User info is exposed by a struct of passwd info. | ||
<syntaxhighlight lang="go"> | <syntaxhighlight lang="go"> | ||
import "os/user" | |||
usr, err := user.Lookup("will") | |||
if errors.Is(err, user.UnknownUserError) {...} | if errors.Is(err, user.UnknownUserError) {...} | ||
fmt.Println( | fmt.Println(usr.Uid) | ||
</syntaxhighlight> | |||
<syntaxhighlight lang="go"> | |||
import "os/user" | |||
grp, err := user.LookupGroup("audio") | |||
if errors.Is(err, user.UnknownGroupError) {...} | |||
fmt.Println(grp.Gid) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
</blockquote><!-- | </blockquote><!-- Users, Groups --> |
Revision as of 13:26, 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)import "os/user" grp, err := user.LookupGroup("audio") if errors.Is(err, user.UnknownGroupError) {...} fmt.Println(grp.Gid)