oop - 在 Golang 中返回一个结构

标签 oop go struct

我刚刚开始使用 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/

相关文章:

java - 需要 OOP 和继承建议

php - PHP 中的 oop 新手请求澄清概念

go - 从具有不同调用方的相对路径读取文件

postgresql - Golang - pgbouncer 和事务使用

c++ - 将结构复制到具有 const 值的数组

c - 发送结构数组时程序崩溃

c++ - C++函数指针中的协变和逆变?

oop - MATLAB 面向对象 : How do I call a method on an object of class A from inside a method in an object of class B?

GoLand 启动调试应用程序的速度很慢

c++ - 里面有结构的类.. C++