为了账号安全,请及时绑定邮箱和手机立即绑定

将参数传递给HandlerFunc

将参数传递给HandlerFunc

Go
弑天下 2021-04-26 16:14:20
我正在尝试使用svgo包在svg文件上绘制点并使用网络浏览器显示该点。通过查看net/http文档,我不知道如何将参数传递到svgWeb函数中。下面的示例编译并在我的Web浏览器中显示一个三角形和一条线,但是我真正想做的是使用Polyline方法绘制xpt和ypt。如何传递适当的参数或重组此示例以完成该任务?package mainimport (    "github.com/ajstarks/svgo"    "log"    "net/http")func svgWeb(w http.ResponseWriter, req *http.Request) {    w.Header().Set("Content-Type", "image/svg+xml")    xpts := []int{1, 200, 5}    ypts := []int{200, 400, 300}    s := svg.New(w)    s.Start(500, 500)    s.Line(5, 10, 400, 400, "stroke:black")    s.Polyline(xpts, ypts, "stroke:black")    s.End()}//// Main Program function//////////////////////////////func main() {    xpts := []int{}    ypts := []int{}    for i := 0; i < 100; i++ {        xpts = append(xpts, i)        xpts = append(ypts, i+5)    }    http.Handle("/economy", http.HandlerFunc(svgWeb))    err := http.ListenAndServe(":2003", nil)    if err != nil {        log.Fatal("ListenAndServe:", err)    }}
查看完整描述

2 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

您应该在内部将函数定义main为匿名函数。这样,它可以引用局部变量xptsypts(该函数将是一个闭包)。


查看完整回答
反对 回复 2021-05-10
  • 2 回答
  • 0 关注
  • 267 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信