@darby
В Go нет стандартных библиотек для получения информации о загруженности процессора, имени компьютера и имени пользователя на компьютере, но вы можете использовать сторонние пакеты для решения этой задачи.
Ниже приведен пример кода, который использует такие пакеты:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
package main import ( "fmt" "os" "os/user" "runtime" "sync" "time" "github.com/shirou/gopsutil/cpu" "github.com/shirou/gopsutil/host" ) func main() { cpuUsage, err := getCPUUsage() if err != nil { fmt.Println("Failed to get CPU usage:", err) } else { fmt.Println("CPU Usage:", cpuUsage, "%") } hostname, err := getHostname() if err != nil { fmt.Println("Failed to get hostname:", err) } else { fmt.Println("Hostname:", hostname) } username, err := getUsername() if err != nil { fmt.Println("Failed to get username:", err) } else { fmt.Println("Username:", username) } } func getCPUUsage() (float64, error) { v, err := cpu.Percent(time.Second, false) if err != nil { return 0.0, err } // The cpu.Percent function returns the CPU usage as an array of percentages, // but on most systems, the first element represents the overall CPU usage. return v[0], nil } func getHostname() (string, error) { h, err := host.Info() if err != nil { return "", err } return h.Hostname, nil } func getUsername() (string, error) { u, err := user.Current() if err != nil { return "", err } return u.Username, nil } |
В этом примере мы используем два пакета gopsutil/cpu
и gopsutil/host
, чтобы получить информацию о загруженности процессора, имени компьютера и имени пользователя на компьютере.
Вы можете использовать инструкцию go get, чтобы установить эти пакеты перед запуском примера кода:
1 2 |
go get github.com/shirou/gopsutil/cpu go get github.com/shirou/gopsutil/host |
Обратите внимание, что эти пакеты могут различаться в зависимости от операционной системы, поэтому убедитесь, что устанавливаете соответствующие пакеты для вашей ОС.