如何将分隔字符串解析为子字符串片段?

How do I parse a delimited string into a slice of substrings?

给出如下 URL:

http://127.0.0.1:3001/find?fields=hostname,App,Node_type,invalid

我像这样将字段提取到切片中:

filters := r.URL.Query().Get("fields")
fmt.Println(filters)

结果:

hostname,App,Node_type,invalid

它是作为字符串接收的,但我更愿意将子字符串分成一个序列。

问题实际上是关于如何在特定的分隔符上拆分字符串。为此,您可以使用 the strings.Split() function:

import "strings"
// ...
filters := strings.Split(r.URL.Query().Get("fields"), ",")

您的 filters 变量现在将是一个切片,如果没有可用的 "fields" 查询参数,它可能为空。

我觉得你的URL应该是

http://127.0.0.1:3001/find?fields=hostname&fields=App&fields=Node_type&fields=invalid

或者如果你不喜欢这样,你可以解析

filterSlice:=strings.Split("filters", ",")