如何将分隔字符串解析为子字符串片段?
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", ",")
给出如下 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", ",")