在 go 中,可使用 `strings.split()` 函数将如 `"hostname,app,node_type,invalid"` 这类逗号分隔的字符串快速拆分为 `[]string` 切片,适用于 url 查询参数解析等常见场景。
当你从 HTTP 请求中提取查询参数(例如 fields=hostname,App,Node_type,invalid)时,r.URL.Query().Get("fields") 返回的是一个单一字符串,而非已解析的列表。此时需手动将其按分隔符(如逗号)切分。
正确做法是导入 strings 包,并调用 strings.Split():
import "strings"
// 从 URL 查询参数中获取字段字符串
filters := r.URL.Query().Get("fields") // 值为 "hostname,App,Node_type,invalid"
// 按逗号
分割为字符串切片
filterSlice := strings.Split(filters, ",")
// 输出结果:[]string{"hostname", "App", "Node_type", "invalid"}
fmt.Printf("%q\n", filterSlice)⚠️ 注意事项:
综上,strings.Split() 是轻量、高效且最常用的标准解法,适用于绝大多数简单分隔场景。