Константа runtime.GOARCH
Константа runtime.GOARCH предоставляет доступ к архитектуре процессора,
под которую была скомпилирована программа на Go. Она возвращает строку,
содержащую архитектурное название, например, "amd64", "arm64",
"386" или "wasm". Эта константа определяется во время компиляции
и не может быть изменена во время выполнения программы.
Синтаксис
runtime.GOARCH
Пример
Давайте получим архитектуру процессора текущей программы:
package main
import (
"fmt"
"runtime"
)
func main() {
res := runtime.GOARCH
fmt.Println(res)
}
Результат выполнения кода:
"amd64"
Пример
Рассмотрим пример, где архитектура определяет поведение программы. Напишем функцию, которая выводит информацию о платформе:
package main
import (
"fmt"
"runtime"
)
func main() {
arch := runtime.GOARCH
if arch == "amd64" || arch == "386" {
fmt.Println("x86 architecture:", arch)
} else if arch == "arm" || arch == "arm64" {
fmt.Println("ARM architecture:", arch)
} else {
fmt.Println("Unknown architecture:", arch)
}
}
Результат выполнения кода:
"x86 architecture: amd64"
Пример
Сравним runtime.GOARCH с другими системными параметрами,
чтобы получить полную информацию о платформе:
package main
import (
"fmt"
"runtime"
)
func main() {
fmt.Println("Architecture:", runtime.GOARCH)
fmt.Println("OS:", runtime.GOOS)
fmt.Println("Compiler:", runtime.Compiler)
fmt.Println("CPU cores:", runtime.NumCPU())
}
Результат выполнения кода:
"Architecture: amd64"
"OS: linux"
"Compiler: gc"
"CPU cores: 8"
Смотрите также
-
константу
runtime.GOOS,
которая возвращает операционную систему -
функцию
runtime.NumCPU,
которая возвращает количество логических ядер -
константу
runtime.Compiler,
которая возвращает компилятор Go -
функцию
runtime.GOMAXPROCS,
которая устанавливает количество потоков