golang如何把分类数据处理成[{type:”A”,list:[“阿拉斯加”,”阿里云”]},{type:”B”,list:[“宝塔”,”包子”]}]…
时间: 2024-09-22 08:01:57 浏览: 56
美图三年优化总结:Golang实现单机百万长连接服务
在Go语言中,你可以使用map结构来表示这样的数据结构,其中键是"类型",值是另一个map,用于存储具体的列表。这里有一个简单的例子:
```go
package main
import (
"fmt"
)
type CategoryData struct {
Type string `json:"type"`
List []string `json:"list"`
}
func ProcessCategories(categoryList []string) []CategoryData {
data := make([]CategoryData, 0)
for _, category := range categoryList {
switch category {
case "A":
list := []string{"阿拉斯加", "阿里云"}
data = append(data, CategoryData{Type: "A", List: list})
case "B":
list := []string{"宝塔", "包子"}
data = append(data, CategoryData{Type: "B", List: list})
default:
fmt.Printf("未知类型: %s\n", category)
}
}
return data
}
func main() {
categories := []string{"A", "B", "未知类型"} // 假设这是输入的分类列表
result := ProcessCategories(categories)
fmt.Println(result)
}
```
上述代码首先定义了一个`CategoryData`结构体来封装类型和列表。接着,在`ProcessCategories`函数中,遍历输入的分类列表,根据不同的类型创建对应的`CategoryData`实例并将其添加到结果数组中。
注意这里的代码假设你知道所有的分类类型,并且已经预先确定了它们。如果分类是动态生成或者不确定的,可能需要其他的方式来解析数据源(例如JSON或其他结构化数据格式)。
阅读全文