Константа runtime.GOOS
Константа runtime.GOOS предоставляет строку с названием операционной системы, на которой выполняется Go-программа.
Она доступна во время выполнения программы и возвращает одно из допустимых значений, например, "darwin" для macOS,
"linux" для Linux, "windows" для Windows и другие.
Эта константа не является функцией, поэтому не принимает никаких параметров.
Значение runtime.GOOS определяется на этапе компиляции и зависит от целевой платформы.
Используя эту константу, можно писать условную логику, которая будет выполняться только на определенных операционных системах.
Синтаксис
runtime.GOOS
Пример
Давайте определим, на какой операционной системе выполняется программа, и выведем соответствующее сообщение:
package main
import (
"fmt"
"runtime"
)
func main() {
os := runtime.GOOS
fmt.Printf("Current OS: %s\n", os)
}
Результат выполнения кода на системе Linux:
"Current OS: linux"
Пример
Давайте используем условную логику для выполнения разных действий в зависимости от операционной системы:
package main
import (
"fmt"
"runtime"
)
func main() {
switch runtime.GOOS {
case "darwin":
fmt.Println("Running on macOS")
case "linux":
fmt.Println("Running on Linux")
case "windows":
fmt.Println("Running on Windows")
default:
fmt.Printf("Running on %s\n", runtime.GOOS)
}
}
Результат выполнения кода на системе Windows:
"Running on Windows"
Пример
Давайте проверим, является ли текущая операционная система Linux, и выведем соответствующее сообщение:
package main
import (
"fmt"
"runtime"
)
func main() {
if runtime.GOOS == "linux" {
fmt.Println("This is a Linux system")
} else {
fmt.Printf("This is not a Linux system, it's %s\n", runtime.GOOS)
}
}
Результат выполнения кода на системе macOS:
"This is not a Linux system, it's darwin"
Смотрите также
-
константу
runtime.GOARCH,
которая возвращает архитектуру процессора -
константу
runtime.Compiler,
которая возвращает название компилятора -
функцию
runtime.Version,
которая возвращает версию Go -
функцию
runtime.GOMAXPROCS,
которая устанавливает количество процессоров