【发布时间】:2019-07-30 20:03:47
【问题描述】:
我不确定如何在 Go 中执行此操作,我刚刚开始使用它,所以我不熟悉应该如何完成。
想法是这样的:我在函数内部创建了一个struct:
XSiteGroup := struct {
siteURL string
siteIDs []string
}{}
我已经实现了一个获取对象数组的请求;此对象具有以下结构:
{
"siteId": "",
"merchantName": "",
"friendlyTitle": "",
"url": ""
}
我要做的是循环遍历该数组并将我找到的每个url 存储为没有重复项的“键”,然后将每个对象的siteId 值存储在siteIDs 数组中结构XSiteGroup。那么让我们说以下场景:
{
"siteId": "5050",
"merchantName": "",
"friendlyTitle": "",
"url": "url1.com"
},
{
"siteId": "4050",
"merchantName": "",
"friendlyTitle": "",
"url": "url2.com"
},
{
"siteId": "8060",
"merchantName": "",
"friendlyTitle": "",
"url": "url1.com"
}
有了上面的结果,我需要存储类似的东西:
{
siteURL: "url1.com",
siteIDs: ["5050", "8060"]
}
我现在有这样的东西来循环我拥有的网站数组:
for _, site := range xwebsites {
u, _ := url.Parse(site.URL)
urlString := strings.ReplaceAll(u.Host, "www.", "")
// So I'm thinking here I should handle the struct I created to store values
}
如果我不清楚或需要什么其他信息,请告诉我。
【问题讨论】:
-
你只是在问如何检查一个值是否在一个切片中?
-
嗯,不完全是,我向端点发出请求,我收到一个具有两个属性的对象数组:
siteId和url;所以我需要检查url是否已经在我的结构中,如果是,我将siteId值添加到结构的siteIDs数组中;我将在问题中包含此内容以提供更多信息 -
@JimB 现在编辑了问题
-
你需要地图来解决这个问题。