Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Dapatkan versi macOS secara pemrograman menggunakan golang

Dapatkan versi macOS secara pemrograman menggunakan golang

WBOY
WBOYke hadapan
2024-02-09 08:06:07439semak imbas

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

editor php Banana mengajar anda cara menggunakan pengaturcaraan golang untuk mendapatkan versi macOS. Sama ada anda sedang membangunkan aplikasi macOS atau melaksanakan pentadbiran sistem, adalah penting untuk mengetahui versi sistem pengendalian semasa anda. Menggunakan pengaturcaraan golang, kami boleh mendapatkan maklumat versi macOS dengan mudah. Artikel ini akan memperkenalkan cara menggunakan golang untuk menulis kod untuk mendapatkan versi macOS, dan cara menjalankan kod pada terminal untuk melihat hasilnya. Mari kita terokai topik yang menyeronokkan dan praktikal ini bersama-sama!

Kandungan soalan

Saya nak dapatkan versi macOS dalam golang. Terutamanya ingin menyemak sama ada macOS adalah >= Big Sur.

Cari pakej goInfo. Tetapi ia tidak memberikan butiran yang diperlukan. Mencuba pakej syscall tetapi penyelesaiannya hanya berfungsi pada Linux.

Terima kasih atas sebarang bantuan.

Penyelesaian

Gunakan unix.uname untuk mendapatkan pengedaran darwin. Mengikut sejarah keluaran darwin, versi darwin yang sepadan bagi big sur ialah 20.x.x.

Lihat demo di bawah:

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)
    }
}

Output pada komputer saya:

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

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

Atas ialah kandungan terperinci Dapatkan versi macOS secara pemrograman menggunakan golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam