Golang operating system: Difference between revisions

From wikinotes
Line 17: Line 17:
</blockquote><!-- Host Info -->
</blockquote><!-- Host Info -->


= User 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">
userinfo, err := user.Lookup("will")
import "os/user"
 
usr, err := user.Lookup("will")


if errors.Is(err, user.UnknownUserError) {...}
if errors.Is(err, user.UnknownUserError) {...}
fmt.Println(userinfo.Uid)
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><!-- User Info -->
</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)