我刚刚从Golang开始,我对与其他包交互和使用structs感到非常困惑。现在,我只是想返回由gopsutil库中的方法生成的一个结构。具体而言,返回以下函数:在这里输入链接描述
我的代码如下:
package main
import (
"fmt"
"github.com/shirou/gopsutil/cpu"
)
func main() {
cpu_times = getCpuTime()
fmt.Println(cpu_times)
}
func getCpuTime() TimesStat {
ct, _ := cpu.Times(false)
return ct
}
这将以未定义的形式返回TimesStat
。我尝试返回几个不同的语法变体,但是我发现编译的唯一返回值是interface{}
,这使我得到括号中的结构(例如[{values...}]
),这导致了一些其他问题。我似乎找不到我想要做的事情的任何例子。任何帮助都很感激谢谢。
发布于 2016-09-14 04:54:04
您需要在类型之前包含包名,如下所示:
func getCpuTime() []cpu.TimesStat { // with package name before type
ct, _ := cpu.Times(false)
return ct
}
因为这是cpu.TimesStat
的一部分,所以您可能希望在调用函数中添加一个索引,或者将函数更改为只返回一个cpu.TimesStat
。(感谢@algrebre)
https://stackoverflow.com/questions/39490907
复制