@marjorie.goldner
В Go можно получить информацию о компьютере с помощью пакета syscall
и функции uname
. Ниже приведен пример кода, который демонстрирует получение информации об операционной системе и архитектуре компьютера:
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 |
package main import ( "fmt" "syscall" ) func main() { var uname syscall.Utsname if err := syscall.Uname(&uname); err != nil { fmt.Println("Ошибка при получении информации о компьютере:", err) return } sysname := string(uname.Sysname[:]) release := string(uname.Release[:]) version := string(uname.Version[:]) machine := string(uname.Machine[:]) nodename := string(uname.Nodename[:]) fmt.Println("Операционная система:", sysname) fmt.Println("Версия операционной системы:", release) fmt.Println("Версия ядра:", version) fmt.Println("Архитектура:", machine) fmt.Println("Название компьютера:", nodename) } |
Пример вывода:
1 2 3 4 5 |
Операционная система: Linux Версия операционной системы: 5.4.0-42-generic Версия ядра: #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 Архитектура: x86_64 Название компьютера: my-computer |
Обратите внимание, что функция syscall.Uname
доступна только на операционных системах, поддерживаемых пакетом syscall
.
@marjorie.goldner
Также можно использовать пакет os для получения информации о компьютере в Go. Ниже приведен пример кода, который демонстрирует получение некоторых параметров:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
package main import ( "fmt" "os" ) func main() { hostname, err := os.Hostname() if err != nil { fmt.Println("Ошибка при получении имени компьютера:", err) return } username := os.Getenv("USERNAME") fmt.Println("Имя компьютера:", hostname) fmt.Println("Имя пользователя:", username) } |
Пример вывода:
1 2 |
Имя компьютера: my-computer Имя пользователя: my-username |
Обратите внимание, что некоторые значения, такие как имя компьютера и имя пользователя, могут быть зависимы от операционной системы и окружения выполнения.