登录
首页 >  Golang >  Go问答

如何在 golang 中创建并返回结构体数组?

来源:stackoverflow

时间:2024-03-14 12:51:22 467浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《如何在 golang 中创建并返回结构体数组?》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

我最近开始使用 golang,我需要制作结构数组。以下是我的结构:

type process struct {
    key   string
    value string
}

现在,我需要从我的方法返回 []process。下面是我的方法:

func procData(values []string) ([]Process, error) {
    var process Process
    for _, value := range values {
        pieces := strings.Split(value, "-")
        if len(pieces) > 1 {
            process = Process{pieces[0], pieces[1]}
        } else if len(pieces) > 2 {
            process = Process{pieces[0], pieces[2]}
        }
        // add process struct process array? how to add process struct to make Process array
    }
}

我对如何通过添加单独的进程结构来创建进程数组然后返回它感到困惑。


正确答案


使用 append 将结果收集到 slice 中。

func procdata(values []string) ([]process, error) {
    var result []process
    for _, value := range values {
        var process process
        pieces := strings.split(value, "-")
        if len(pieces) > 1 {
            process = process{pieces[0], pieces[1]}
        } else if len(pieces) > 2 {
            process = process{pieces[0], pieces[2]}
        }
        result = append(result, process)
    }
    return result
}
func procData(values []string) ([]Process, error) {
    processList := make([]Process, len(values))
    var process Process
    for _, value := range values {
        pieces := strings.Split(value, "-")
        if len(pieces) > 1 {
            process = Process{pieces[0], pieces[1]}
        } else if len(pieces) > 2 {
            process = Process{pieces[0], pieces[2]}
        }
        // add process struct process array? how to add process struct to make Process array
        processList = append(processList, process)
    }
    return processList
}

以上就是《如何在 golang 中创建并返回结构体数组?》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>