Golang operating system

From wikinotes
Revision as of 13:27, 18 June 2022 by Will (talk | contribs) (→‎Users, Groups)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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)