普通网友 2018-07-23 17:43
浏览 14
已采纳

用golang分割字符串[关闭]

I have two arguments name and value, that I am trying to parse at runtime.

At run time I am passing the following values:

name = text,text,text,text,text
value = 0 ,285,404,6,24

Currently the output is as following;

Parameters: {"text,text,text,text,text":"0,285,404,6,24"}

when actually it must display as,

Parameters: {"text":"0"}
Parameters: {"text":"285"}
Parameters: {"text":"404"}
Parameters: {"text":"6"}
Parameters: {"text":"24"}

Following is my code;

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
", m)
   }
}


func parameter(name string, value string) (matcher string) {
    var result string
    if name != "" || value != "" {
            result = fmt.Sprintf("{\"%s\":\"%s\"}", name, value)
    }
    return result
}

I wanted to know how to display the output accurately.

  • 写回答

1条回答 默认 最新

  • doujie4344 2018-07-23 18:59
    关注

    You need to use strings.Split to create the array, instead of an array with a single element:

    play.golang.org/p/b5rffvBUwqd

    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
    ", m)
       }
    }
    
    
    func parameter(name string, value string) (matcher string) {
        var result string
        if name != "" || value != "" {
                result = fmt.Sprintf("{\"%s\":\"%s\"}", name, value)
        }
        return result
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集