Skip to content

简介

操作系统工具模块,提供平台检测、OS 信息获取和用户目录查找功能。根据 runtime.GOOS 判断当前操作系统,通过 gopsutil/host 获取详细平台信息,并支持跨平台(Windows、Linux、macOS)的用户主目录查找。

导入

go
import "github.com/wallace5303/ee-go/eos"

API

IsWindows()

说明:检查当前运行环境是否为 Windows 系统。通过 runtime.GOOS 检测,当值为 "windows" 时返回 true

参数:无

返回值booltrue 表示当前系统为 Windows,false 表示不是

示例

go
if eos.IsWindows() {
    fmt.Println("当前运行在 Windows 系统")
}

IsLinux()

说明:检查当前运行环境是否为 Linux 系统。通过 runtime.GOOS 检测,当值为 "linux" 时返回 true

参数:无

返回值booltrue 表示当前系统为 Linux,false 表示不是

示例

go
if eos.IsLinux() {
    fmt.Println("当前运行在 Linux 系统")
}

IsMacOS()

说明:检查当前运行环境是否为 macOS 系统。通过 runtime.GOOS 检测,当值为 "darwin" 时返回 true。功能与 IsDarwin() 相同。

参数:无

返回值booltrue 表示当前系统为 macOS,false 表示不是

示例

go
if eos.IsMacOS() {
    fmt.Println("当前运行在 macOS 系统")
}

参见:IsDarwin()

IsDarwin()

说明:检查当前运行环境是否为 Darwin(macOS)系统。通过 runtime.GOOS 检测,当值为 "darwin" 时返回 true。功能与 IsMacOS() 相同,从 Darwin 内核名称角度提供别名。

参数:无

返回值booltrue 表示当前系统为 Darwin/macOS,false 表示不是

示例

go
if eos.IsDarwin() {
    fmt.Println("当前运行在 Darwin 系统")
}

参见:IsMacOS()

OSPlatform()

说明:获取当前操作系统的详细平台名称。通过 gopsutil/host.PlatformInformation() 获取,例如 "ubuntu""windows""darwin" 等。失败时返回 "Unknown"

参数:无

返回值string — 操作系统平台名称字符串,失败时返回 "Unknown"

示例

go
platform := eos.OSPlatform()
fmt.Printf("当前平台: %s\n", platform)
// 输出: 当前平台: ubuntu  或  当前平台: darwin  或  当前平台: windows

GetUserHomeDir()

说明:获取当前用户的主目录路径。优先使用 user.Current();对于跨平台交叉编译,Windows 使用 HOMEDRIVE + HOMEPATHUSERPROFILE 环境变量,Unix 使用 HOME 环境变量或 shell 命令。

参数:无

返回值

返回值类型说明
homeDirstring用户主目录绝对路径
errerror失败时的错误信息;成功时为 nil

示例

go
homeDir, err := eos.GetUserHomeDir()
if err != nil {
    fmt.Printf("获取用户目录失败: %s\n", err)
    return
}
fmt.Printf("用户主目录: %s\n", homeDir)
// 输出: 用户主目录: /home/user  或  用户主目录: C:\Users\user

参见:eruntime.UserHomeDir