我刚开始使用Golang,我对与其他软件包交互和使用结构非常困惑.现在我只是试图返回由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
}
Run Code Online (Sandbox Code Playgroud)
这将返回TimesStatundefined.我尝试返回一些不同的语法变体,但是我发现编译的唯一返回值是interface{},它让我得到括号内的结构(例如[{values...}]),这导致了一些其他问题.我似乎无法找到任何我想要做的例子.任何帮助表示感谢.
您需要在类型之前包含包名称,如下所示:
func getCpuTime() []cpu.TimesStat { // with package name before type
ct, _ := cpu.Times(false)
return ct
}
Run Code Online (Sandbox Code Playgroud)
因为这是一个片段cpu.TimesStat,你可能想在调用函数中添加一个索引或者更改函数只返回一个cpu.TimesStat.(感谢@algrebre)