Home > Article > Backend Development > Programmatically get macOS version using golang
php editor Banana teaches you how to use golang programming to get the macOS version. Whether you are developing macOS applications or performing system administration, it is important to know your current operating system version. Using golang programming, we can easily obtain the version information of macOS. This article will introduce how to use golang to write code to get the macOS version, and how to run the code on the terminal to view the results. Let’s explore this fun and practical topic together!
I want to get the macOS version in golang. Mainly wanted to check if macOS is >= Big Sur.
Find the goInfo package. But it doesn't provide the required details. Tried the syscall package but the solution only works on Linux.
Thanks for any help.
Use unix.uname to obtain the darwin distribution. According to the release history of darwin, the corresponding darwin version of big sur is 20.x.x
.
See demo below:
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 on my computer:
sysname: Darwin release: 22.3.0 macOS >= Big Sur: true
Reference:https://www.php.cn/link/ec47951a847319d0dd4933431b5b2c0f
The above is the detailed content of Programmatically get macOS version using golang. For more information, please follow other related articles on the PHP Chinese website!