Informazioni di sistema in Go
Per ottenere informazioni di sistema in Go abbiamo l'ottimo package sysinfo!
Prima di tutto dobbiamo "installarlo":
go get github.com/zcalusic/sysinfo
Fatto questo, passiamo al codice:
package main
import (
"encoding/json"
"fmt"
"os/user"
"github.com/zcalusic/sysinfo"
)
func main() {
current, err := user.Current()
if err != nil {
fmt.Println(err)
}
if current.Uid != "0" {
fmt.Println("Privilegi elevati richiesti")
}
var si sysinfo.SysInfo
si.GetSysInfo()
data, err := json.MarshalIndent(&si, "", " ")
if err != nil {
fmt.Println(err)
}
fmt.Println(string(data))
}
Considerate che su Linux mi ha richiesto i privilegi elevati.
L'output sarà in formato JSON, ma ben leggibile.
Enjoy!
go sysinfo json
Commentami!