我有两个参数名称和值,我正在尝试在运行时进行解析。
在运行时,我传递以下值:
name = text,text,text,text,text
value = 0 ,285,404,6,24
当前输出如下;
Parameters: {"text,text,text,text,text":"0,285,404,6,24"}
实际上它必须显示为
Parameters: {"text":"0"}
Parameters: {"text":"285"}
Parameters: {"text":"404"}
Parameters: {"text":"6"}
Parameters: {"text":"24"}
以下是我的代码;
package main
import "fmt"
func main() {
var m string
var matchField = []string{"index,index,index,index"}
var matchValue =[]string{"29,4,87,54"}
for i := 0 ; i < 1 ; i++ {
m = parameter(matchField[i], matchValue[i])
fmt.Printf("Result: %s\n", m)
}
}
func parameter(name string, value string) (matcher string) {
var result string
if name != "" || value != "" {
result = fmt.Sprintf("{\"%s\":\"%s\"}", name, value)
}
return result
}
我想知道如何准确显示输出。
答案 0 :(得分:0)
您需要使用strings.Split
来创建数组,而不是使用具有单个元素的数组:
package main
import "fmt"
import "strings"
func main() {
var m string
matchField := strings.Split("index,index,index,index", ",")
matchValue := strings.Split("29,4,87,54", ",")
for i := 0 ; i < len(matchField); i++ {
m = parameter(matchField[i], matchValue[i])
fmt.Printf("Parameters: %s\n", m)
}
}
func parameter(name string, value string) (matcher string) {
var result string
if name != "" || value != "" {
result = fmt.Sprintf("{\"%s\":\"%s\"}", name, value)
}
return result
}