Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 鼓浪断弦_String_Go_Split - Fatal编程技术网

String 鼓浪断弦

String 鼓浪断弦,string,go,split,String,Go,Split,我有两个参数name和value,我正试图在运行时解析它们 在运行时,我传递以下值: 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":"

我有两个参数name和value,我正试图在运行时解析它们

在运行时,我传递以下值:

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
}
主程序包
输入“fmt”
func main(){
var m字符串
var matchField=[]字符串{“索引,索引,索引,索引”}
var matchValue=[]字符串{“29,4,87,54”}
对于i:=0;i<1;i++{
m=参数(匹配字段[i],匹配值[i])
fmt.Printf(“结果:%s\n”,m)
}
}
func参数(名称字符串、值字符串)(匹配器字符串){
变量结果字符串
如果名称!=“”| |值!=“”{
结果=fmt.Sprintf(“{\%s\:\%s\”),名称,值)
}
返回结果
}

我想知道如何准确显示输出。

您需要使用
字符串。拆分
来创建数组,而不是使用单个元素的数组:

主程序包
输入“fmt”
导入“字符串”
func main(){
var m字符串
matchField:=strings.Split(“索引,索引,索引,索引”,“,”)
matchValue:=strings.Split(“29,4,87,54”,“,”))
对于i:=0;i
您看过
字符串。拆分
()了吗?如果你在谷歌上搜索如何在围棋中分割字符串,这应该是第一个结果。是的,我搜索了。使用strings.Split,我可以按拆分名称和值,但是如何用{name:value}连接它们呢?您已经在给出的示例代码中连接了它们。看起来您正在尝试生成JSON格式的输出,所以我不确定您为什么不使用
encoding/JSON
。不,它不是JSON格式的,它的简单字符串JSON只是一个字符串,并且您在示例代码中已经生成的字符串是有效的JSON。不管您正在使用的方法有什么问题?条件应该是:
i
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
}