我刚刚开始使用 Golang,我对与其他包交互和使用结构感到非常困惑。现在我只是想返回由 gopsutil 库中的方法生成的结构。具体返回以下函数:enter link description here
我的代码如下:
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... }]
),这导致了一些其他问题。我似乎找不到我正在尝试做的任何例子。任何帮助表示感谢。
最佳答案
您需要在类型之前包含包名称,如下所示:
func getCpuTime() []cpu.TimesStat { // with package name before type
ct, _ := cpu.Times(false)
return ct
}
因为这是 cpu.TimesStat
的一部分,您可能想在调用函数中添加一个索引或更改函数以仅返回一个 cpu.TimesStat
. (感谢@algrebre)
关于oop - 在 Golang 中返回一个结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39490907/