gpt4 book ai didi

string - 在 Go 语言的 For 循环中将值转换为字符串

转载 作者:IT王子 更新时间:2023-10-29 02:33:35 25 4
gpt4 key购买 nike

在 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}

最佳答案

slice 中不能有 slice 。

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

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

UrlBuildString := ArrayToString([]string{SearchUrl, ArrayToString(MovieSearch), apiKey}

____________________________________________

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)
}

关于string - 在 Go 语言的 For 循环中将值转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35977267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com