String 将GoLang中For循环中的值转换为字符串

String 将GoLang中For循环中的值转换为字符串,string,go,String,Go,在GoLang,我像这样循环浏览表单数据 for key, values := range r.Form { // range over map for _, value := range values { // range over []string fmt.Println(key, value) } } 我可以像这样把数据打印到终端,但是我需要这个数据是一个字符串,这样我就可以从for循环外部访问它 当循环完成时,如何将其放入可以在for循环外部调

在GoLang,我像这样循环浏览表单数据

for key, values := range r.Form {   // range over map
    for _, value := range values {    // range over []string
        fmt.Println(key, value)
    }
}
我可以像这样把数据打印到终端,但是我需要这个数据是一个字符串,这样我就可以从for循环外部访问它


当循环完成时,如何将其放入可以在for循环外部调用的变量中

我的目标是通过连接这三个字符串来构建url

var SearchUrl = "https://api.themoviedb.org/3/search/movie?query="
var MovieSearch []string = r.Form["GetSearchKey"]   
var apiKey = "&api_key=e2a"
UrlBuild := []string {SearchUrl, MovieSearch, apiKey}
fmt.Println(UrlBuild) 
我得到这个错误

/main.go:71: cannot use MovieSearch (type []string) 
as type string in array or slice literal
MovieSearch
来自输入表单。这是搜索关键字

一旦我有了一个字符串,我就可以将它传递给进行api调用的函数

全部功能

func searchHandler(w http.ResponseWriter, r *http.Request) {
  display(w, "search", &Page{Title: "Search"})
   fmt.Println("method:", r.Method) 
        r.ParseForm()
        fmt.Println("GetSearchKey:", r.Form["GetSearchKey"])

for key, values := range r.Form {   // range over map
for _, value := range values {    // range over []string
    fmt.Println(key, value)

  }
}

var SearchUrl = "https://api.themoviedb.org/3/search/movie?query="
 var MovieSearch []string = r.Form["GetSearchKey"]   
var apiKey = "&api_key=ewrfwrfwrcwerc"
UrlBuild := []string {SearchUrl, MovieSearch, apiKey}
fmt.Println(UrlBuild)

fmt.Println(reflect.TypeOf(r.Form["GetSearchKey"] ))
}
错误来自这一行

UrlBuild := []string {SearchUrl, MovieSearch, apiKey}

这个问题看起来并不那么糟糕,尽管我可能误解了这个问题。有很多方法可以建立这些字符串

考虑以下使用串联(慢速)的方法:


这里可以看到更多的concat示例:

这个问题看起来并没有那么糟糕,尽管我可能误解了这个问题。有很多方法可以建立这些字符串

考虑以下使用串联(慢速)的方法:


这里可以看到更多的concat示例:

片中不能有片

func ArrayToString(array []string) string {
    str := strings.Join(array, "")
    return str

}
UrlBuild := []string {SearchUrl, ArrayToString(MovieSearch), apiKey}
fmt.Println(UrlBuild) 
UrlBuildString := ArrayToString(UrlBuild)

_________________满满的_______________

func ArrayToString(array []string) string {
    str := strings.Join(array, "")
    return str

}
func searchHandler(w http.ResponseWriter, r *http.Request) {
  display(w, "search", &Page{Title: "Search"})
   fmt.Println("method:", r.Method) 
        r.ParseForm()
        fmt.Println("GetSearchKey:", r.Form["GetSearchKey"])

for key, values := range r.Form {   // range over map
for _, value := range values {    // range over []string
    fmt.Println(key, value)

  }
}

var SearchUrl = "https://api.themoviedb.org/3/search/movie?query="
 var MovieSearch []string = r.Form["GetSearchKey"]   
var apiKey = "&api_key=ewrfwrfwrcwerc"
UrlBuild := []string {SearchUrl, ArrayToString(MovieSearch), apiKey}
fmt.Println(UrlBuild)
OUTPUT_STRING := ArrayToString(UrlBuild)
}

不能在切片中包含切片

func ArrayToString(array []string) string {
    str := strings.Join(array, "")
    return str

}
UrlBuild := []string {SearchUrl, ArrayToString(MovieSearch), apiKey}
fmt.Println(UrlBuild) 
UrlBuildString := ArrayToString(UrlBuild)

_________________满满的_______________

func ArrayToString(array []string) string {
    str := strings.Join(array, "")
    return str

}
func searchHandler(w http.ResponseWriter, r *http.Request) {
  display(w, "search", &Page{Title: "Search"})
   fmt.Println("method:", r.Method) 
        r.ParseForm()
        fmt.Println("GetSearchKey:", r.Form["GetSearchKey"])

for key, values := range r.Form {   // range over map
for _, value := range values {    // range over []string
    fmt.Println(key, value)

  }
}

var SearchUrl = "https://api.themoviedb.org/3/search/movie?query="
 var MovieSearch []string = r.Form["GetSearchKey"]   
var apiKey = "&api_key=ewrfwrfwrcwerc"
UrlBuild := []string {SearchUrl, ArrayToString(MovieSearch), apiKey}
fmt.Println(UrlBuild)
OUTPUT_STRING := ArrayToString(UrlBuild)
}


把数据放在地图上有什么不对?你到底想要什么?添加一个示例。“我如何将其放入一个可以在for循环外部调用的变量中”-可能是将其存储在一个您在循环外部定义的变量中?我正在尝试将其转换为字符串,以便用它构建url。我现在就编辑。完成两次围棋之旅可能需要4个小时。地图上有数据有什么问题?你到底想要什么?添加一个示例。“我如何将其放入一个可以在for循环外部调用的变量中”-可能是将其存储在一个您在循环外部定义的变量中?我正在尝试将其转换为字符串,以便用它构建url。我现在就编辑。在围棋之旅中工作两次可能需要4个小时。但是,既然我正在创建一个url,像我尝试的那样做有意义吗?我刚刚编辑了我的问题。但既然我正在构建一个url,那么像我正在尝试的那样做有意义吗?我刚刚编辑了我的问题。嘿,非常感谢你试图帮助我。你介意详细解释一下吗是的。。。我刚刚经历了这一切。它通过加入itCool-thankman将数组转换为字符串,因此我有2个字符串和1个表单输入值。当我用reflect检查表单时,表单中的值表示它是一个字符串。但我猜它可能是一个字符串数组,这就是我的致命之处?如果是这样的话,我甚至不知道我将如何使用该函数来连接它。如果你看我的问题,看到这些树变量SearchUrl MovieSearch和apiKey,你是否介意更新你的答案,告诉我如何将所有这些变量合并到一个字符串变量中,这样我就可以在另一个函数中调用该变量。啊,我明白了。等一下,
MovieSearch
看起来像什么他们非常感谢你试图帮助我。你介意详细解释一下吗是的。。。我刚刚经历了这一切。它通过加入itCool-thankman将数组转换为字符串,因此我有2个字符串和1个表单输入值。当我用reflect检查表单时,表单中的值表示它是一个字符串。但我猜它可能是一个字符串数组,这就是我的致命之处?如果是这样的话,我甚至不知道我将如何使用该函数来连接它。如果你看我的问题,看到这些树变量SearchUrl MovieSearch和apiKey,你是否介意更新你的答案,告诉我如何将所有这些变量合并到一个字符串变量中,这样我就可以在另一个函数中调用该变量。啊,我明白了。等一下,
MovieSearch
看起来像什么