gpt4 book ai didi

再会!在这个程序中,我制作了包括 Handle 函数的餐厅菜单。我无法将数组 : Name, Price 与函数 getall 和 get 连接起来

转载 作者:数据小太阳 更新时间:2023-10-29 03:37:15 25 4
gpt4 key购买 nike

美好的一天!在这个程序中,我为餐厅制作了包含 Handle 功能的菜单。

问题陈述:
我无法连接数组:Name, Price 与函数 getallget

package main

import (
"fmt"
"net/http"
"io"
"strconv"
"net/url"
)

type Menu struct {
Name string
Price int
description string
}

func (m Menu) String() string {
return fmt.Sprintf("%s: %s", m.Name, m.Price, )
}

func main() {
x :=[]Menu{
{Name:"Crispy", Price:31},
{Name:"Burger", Price:42},
{Name:"Superstar",Price:17},
/*{"Cola", 26},
{Name:"Superstar", Price:40},
{Name:"Nuggets", Price:19},*/
}
//getall(&x)
fmt.Println(x)

http.HandleFunc("/getall", getall)
http.HandleFunc("/get", get)
http.ListenAndServe(":8080", nil)
}

func getall(w http.ResponseWriter, r *http.Request) {
for _,num := range []Menu{}{
io.WriteString(w, "<p>"+m.Name+" Price "+strconv.Itoa(num)+"</p>")
}
}

func get(w http.ResponseWriter, r *http.Request) {
url := url.URL{}
println(url.String())
attr := r.URL.Query()
fmt.Println(attr)
id := attr["id"][0]
fmt.Println("id of request " + id)
v := id
d:= []Menu{}
if a, err := strconv.Atoi(v);
err == nil {
io.WriteString(w, "<p> "+Name[a-1]+" price "+strconv.Itoa(d[a-1])+"</p>")
}
}

帮我在getallget函数中实现数组

最佳答案

我想帮助你,因为你似乎真的在努力学习围棋。我对你的代码做了一些改动。我已经移动了每个处理程序中的菜单列表。您可以将其保留在全局范围内。在下面找到更改后的代码。

package main

import (
"fmt"
"io"
"net/http"
"net/url"
"strconv"
)

type Menu struct {
Name string
Price int
description string
}

func (m Menu) String() string {
return fmt.Sprintf("%s: %s", m.Name, m.Price)
}

func main() {
fmt.Println(x)

http.HandleFunc("/getall", getall)
http.HandleFunc("/get", get)
http.ListenAndServe(":8080", nil)

}

func getall(w http.ResponseWriter, r *http.Request) {

x := []Menu{
{Name: "Crispy", Price: 31},
{Name: "Burger", Price: 42},
{Name: "Superstar", Price: 17},
}

for _, m := range x {

io.WriteString(w, "<p>"+m.Name+" Price "+strconv.Itoa(m.Price)+"</p>")
}

}

func get(w http.ResponseWriter, r *http.Request) {

x := []Menu{
{Name: "Crispy", Price: 31},
{Name: "Burger", Price: 42},
{Name: "Superstar", Price: 17},
}

url := url.URL{}
println(url.String())
attr := r.URL.Query()
fmt.Println(attr)
id := attr["id"][0]
fmt.Println("id of request " + id)
v := id
if a, err := strconv.Atoi(v); err == nil {
io.WriteString(w, "<p> "+x[a-1].Name+" price "+strconv.Itoa(x[a-1].Price)+"</p>")
}

}

尝试访问:http://localhost:8080/getall或者 http://localhost:8080/get?id=1

关于再会!在这个程序中,我制作了包括 Handle 函数的餐厅菜单。我无法将数组 : Name, Price 与函数 getall 和 get 连接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45029816/

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