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

Holen Sie sich die macOS-Version programmgesteuert mit Golang

WBOY
Freigeben: 2024-02-09 08:06:07
nach vorne
471 Leute haben es durchsucht

使用 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)
    }
}
Nach dem Login kopieren

Ausgabe auf meinem Computer:

sysname: Darwin
release: 22.3.0
macOS >= Big Sur: true
Nach dem Login kopieren

Referenz: //m.sbmmt.com/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!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage