简介
操作系统工具模块,提供平台检测、OS 信息获取和用户目录查找功能。根据 runtime.GOOS 判断当前操作系统,通过 gopsutil/host 获取详细平台信息,并支持跨平台(Windows、Linux、macOS)的用户主目录查找。
导入
import "github.com/wallace5303/ee-go/eos"API
IsWindows()
说明:检查当前运行环境是否为 Windows 系统。通过 runtime.GOOS 检测,当值为 "windows" 时返回 true。
参数:无
返回值:bool — true 表示当前系统为 Windows,false 表示不是
示例:
if eos.IsWindows() {
fmt.Println("当前运行在 Windows 系统")
}IsLinux()
说明:检查当前运行环境是否为 Linux 系统。通过 runtime.GOOS 检测,当值为 "linux" 时返回 true。
参数:无
返回值:bool — true 表示当前系统为 Linux,false 表示不是
示例:
if eos.IsLinux() {
fmt.Println("当前运行在 Linux 系统")
}IsMacOS()
说明:检查当前运行环境是否为 macOS 系统。通过 runtime.GOOS 检测,当值为 "darwin" 时返回 true。功能与 IsDarwin() 相同。
参数:无
返回值:bool — true 表示当前系统为 macOS,false 表示不是
示例:
if eos.IsMacOS() {
fmt.Println("当前运行在 macOS 系统")
}参见:IsDarwin()
IsDarwin()
说明:检查当前运行环境是否为 Darwin(macOS)系统。通过 runtime.GOOS 检测,当值为 "darwin" 时返回 true。功能与 IsMacOS() 相同,从 Darwin 内核名称角度提供别名。
参数:无
返回值:bool — true 表示当前系统为 Darwin/macOS,false 表示不是
示例:
if eos.IsDarwin() {
fmt.Println("当前运行在 Darwin 系统")
}参见:IsMacOS()
OSPlatform()
说明:获取当前操作系统的详细平台名称。通过 gopsutil/host.PlatformInformation() 获取,例如 "ubuntu"、"windows"、"darwin" 等。失败时返回 "Unknown"。
参数:无
返回值:string — 操作系统平台名称字符串,失败时返回 "Unknown"
示例:
platform := eos.OSPlatform()
fmt.Printf("当前平台: %s\n", platform)
// 输出: 当前平台: ubuntu 或 当前平台: darwin 或 当前平台: windowsGetUserHomeDir()
说明:获取当前用户的主目录路径。优先使用 user.Current();对于跨平台交叉编译,Windows 使用 HOMEDRIVE + HOMEPATH 或 USERPROFILE 环境变量,Unix 使用 HOME 环境变量或 shell 命令。
参数:无
返回值:
| 返回值 | 类型 | 说明 |
|---|---|---|
| homeDir | string | 用户主目录绝对路径 |
| err | error | 失败时的错误信息;成功时为 nil |
示例:
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
