package main

import (
	"fmt"
	"log"
	"net"
	"os"
	"os/user"
)

func getHostname() string {
	hostname, err := os.Hostname()
	if err != nil {
		log.Println("Could not retrieve Hostname")
		return ""
	} else {
		return hostname
	}
}

func getUsernameDomain() string {
	user, err := user.Current()
	if err != nil {
		log.Fatal(err)
	}

	return user.Username
}

func getIP(hostname string) string {
	addrs, err := net.LookupIP(hostname)
	if err != nil {
		log.Fatal(err)
	}
	return addrs[0].String()
}

func getGroups() []int {
	groups, err := os.Getgroups()
	if err != nil {
		log.Fatal(err)
	}
	return groups
}

func main() {
	fmt.Println("hostname: ", getHostname())
	fmt.Println("username: ", getUsernameDomain())
	fmt.Println("groups: ", getGroups())
	fmt.Println("google: ", getIP("www.google.de"))

}
