Константа runtime.GOOS

Константа runtime.GOOS предоставляет строку с названием операционной системы, на которой выполняется Go-программа. Она доступна во время выполнения программы и возвращает одно из допустимых значений, например, "darwin" для macOS, "linux" для Linux, "windows" для Windows и другие. Эта константа не является функцией, поэтому не принимает никаких параметров.

Значение runtime.GOOS определяется на этапе компиляции и зависит от целевой платформы. Используя эту константу, можно писать условную логику, которая будет выполняться только на определенных операционных системах.

Синтаксис

goruntime.GOOS

Пример

Давайте определим, на какой операционной системе выполняется программа, и выведем соответствующее сообщение:

gopackage main

import (
  "fmt"
  "runtime"
)

func main() {
  os := runtime.GOOS
  fmt.Printf("Current OS: %s\n", os)
}

Результат выполнения кода на системе Linux:

go"Current OS: linux"

Пример

Давайте используем условную логику для выполнения разных действий в зависимости от операционной системы:

gopackage 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:

go"Running on Windows"

Пример

Давайте проверим, является ли текущая операционная система Linux, и выведем соответствующее сообщение:

gopackage 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:

go"This is not a Linux system, it's darwin"

Смотрите также

  • константу runtime.GOARCH,
    которая возвращает архитектуру процессора
  • константу runtime.Compiler,
    которая возвращает название компилятора
  • функцию runtime.Version,
    которая возвращает версию Go
  • функцию runtime.GOMAXPROCS,
    которая устанавливает количество процессоров