在 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}
HUWWW
慕尼黑5688855
相关分类