为了账号安全,请及时绑定邮箱和手机立即绑定

无论对象类型如何,如何拆分对象?

无论对象类型如何,如何拆分对象?

Go
素胚勾勒不出你 2022-06-01 18:25:10
我只是使用 ghw 库获取所有系统规范。详细信息可在https://github.com/jaypipes/ghw/#cpu中找到。我想获取 cpu 缓存大小。因此,我需要使用以下我无法执行的代码拆分返回的任何对象。package mainimport ("fmt""strings""github.com/jaypipes/ghw")func main() {    topology, err := ghw.Topology()    if err != nil {        fmt.Printf("Error getting topology info: %v", err)    }    fmt.Printf("%v\n", topology)    for _, node := range topology.Nodes {        fmt.Printf(" %v\n", node)        for _, cache := range node.Caches {            info := strings.Split(cache, "\n")        }    }}当我这样做时,我收到以下错误。./topology.go:21:25: cannot use cache (type *ghw.MemoryCache) as type string in argument to strings.Split那么如何拆分它并仅使用所需的数据。
查看完整描述

1 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

您可以只使用该ghw.MemoryCache.SizeBytes字段:


ghw.MemoryCache.SizeBytes是一个整数,包含缓存可以包含的字节数


所以不需要拆分:


for _, node := range topology.Nodes {

    fmt.Printf(" %v\n", node)

    for _, cache := range node.Caches {

        info := strconv.Itoa(cache.SizeBytes)

    }

}


查看完整回答
反对 回复 2022-06-01
  • 1 回答
  • 0 关注
  • 117 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信