可以使用以下代码来获取 sda 磁盘大小并将其输出为字符串:

package main

import (
    "fmt"
    "os/exec"
    "strings"
)

func main() {
    cmd := exec.Command("lsblk", " -b", " -d", " -n", " -o", "SIZE", "/dev/sda")
    output, err := cmd.Output()
    if err != nil {
        fmt.Println(err)
        return
    }
    sizeBytes := strings.TrimSpace(string(output))
    size := fmt.Sprintf("%.2f GB", float64(parseSize(sizeBytes))/1073741824)
    fmt.Println(size)
}

func parseSize(size string) uint64 {
    var s uint64
    fmt.Sscanf(size, "%d", &s)
    return s
}

在这个例子中,我们使用exec.Command函数来执行lsblk命令并获取输出。-b参数表示以字节为单位显示大小,-d参数表示只显示块设备,-n参数表示不显示标题行,-o参数表示只显示大小列,最后一个参数/dev/sda表示只显示sda设备的大小。

我们使用strings.TrimSpace函数来删除输出中的空格和换行符。然后我们将字符串大小转换为字节数,并将其转换为GB大小的字符串输出。最后我们使用fmt.Println函数来打印输出。

Golang 获取 sda 磁盘大小并转换为字符串

原文地址: https://www.cveoy.top/t/topic/nu2Z 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录