登录
首页 >  Golang >  Go问答

Go 中实现字符串到数组的转换

来源:stackoverflow

时间:2024-02-15 10:09:21 459浏览 收藏

目前golang学习网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《Go 中实现字符串到数组的转换》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并分享~

问题内容

所以在 go 中我有以下字符串

["item1", "item2", "item3"]

我想将此字符串转换为包含每个项目的列表。解决这个问题的最佳方法是什么?抱歉,我仍在学习 go,但找不到类似的信息


正确答案


如果您的字符串是 json(如注释所示),并且具有相同类型对象的顶级列表;您可以使用标准库中的 encoding/json 来解析并将其简单地解组到 go 结构类型的切片中,如下所示:

package main

import (
    "encoding/json"
    "fmt"
)

type Data struct {
    Name string
    Foo []string `json:"foo"`
}

func main() {
    // Unmarshall to slice
    var data []Data

    // Your string with list of objects
    input := `[{"name": "first", "foo":["item1", "item2", "item3"]}, {"name": "second", "foo":["item5", "item6"]}]`
    
    err := json.Unmarshal([]byte(input), &data)
    if err != nil {
        panic(err)
    }
    fmt.Println(data)
}

我建议阅读 JSON and Go,它几乎解释了如何在 go 中读取 json。

好了,本文到此结束,带大家了解了《Go 中实现字符串到数组的转换》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

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