Heim >Backend-Entwicklung >Golang >Holen Sie sich die macOS-Version programmgesteuert mit Golang

Holen Sie sich die macOS-Version programmgesteuert mit Golang

WBOY
WBOYnach vorne
2024-02-09 08:06:07446Durchsuche

使用 golang 以编程方式获取 macOS 版本

Der PHP-Editor Banana zeigt Ihnen, wie Sie mithilfe der Golang-Programmierung die macOS-Version erhalten. Unabhängig davon, ob Sie macOS-Anwendungen entwickeln oder Systemadministration durchführen, ist es wichtig, die aktuelle Version Ihres Betriebssystems zu kennen. Mithilfe der Golang-Programmierung können wir problemlos die Versionsinformationen von macOS abrufen. In diesem Artikel erfahren Sie, wie Sie mit Golang Code schreiben, um die macOS-Version zu erhalten, und wie Sie den Code auf dem Terminal ausführen, um die Ergebnisse anzuzeigen. Lassen Sie uns gemeinsam dieses unterhaltsame und praktische Thema erkunden!

Frageninhalt

Ich möchte die macOS-Version in Golang erhalten. Ich wollte hauptsächlich überprüfen, ob macOS >= Big Sur ist.

Finden Sie das goInfo-Paket. Es werden jedoch nicht die erforderlichen Details bereitgestellt. Habe das Syscall-Paket ausprobiert, aber die Lösung funktioniert nur unter Linux.

Danke für jede Hilfe.

Lösung

Verwenden Sie unix.uname, um die Darwin-Distribution zu erhalten. Laut der Veröffentlichungsgeschichte von Darwin ist die entsprechende Darwin-Version von Big Sur 20.x.x.

Siehe Demo unten:

package main

import (
    "fmt"
    "strconv"
    "strings"

    "golang.org/x/sys/unix"
)

func main() {
    var uts unix.utsname
    if err := unix.uname(&uts); err != nil {
        panic(err)
    }

    sysname := unix.byteslicetostring(uts.sysname[:])
    release := unix.byteslicetostring(uts.release[:])

    fmt.printf("sysname: %s\nrelease: %s\n", sysname, release)

    if sysname == "darwin" {
        dotpos := strings.index(release, ".")
        if dotpos == -1 {
            fmt.printf("invalid release value: %s\n", release)
            return
        }

        major := release[:dotpos]
        majorversion, err := strconv.atoi(major)
        if err != nil {
            fmt.printf("invalid release value: %s, %v\n", release, err)
            return
        }
        fmt.println("macos >= big sur:", majorversion >= 20)
    }
}

Ausgabe auf meinem Computer:

sysname: Darwin
release: 22.3.0
macOS >= Big Sur: true

Referenz: https://www.php.cn/link/ec47951a847319d0dd4933431b5b2c0f

Das obige ist der detaillierte Inhalt vonHolen Sie sich die macOS-Version programmgesteuert mit Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen