搜索
您的当前位置:首页正文

35. web服务器实现动态路径

来源:二三娱乐

有时候,我们希望给不同的用户有不同的服务路径。抛开那些高大上和深层次的原因,最浅显的,可以让用户觉得自己挺受重视。路径名称最好就是用户有关的字符串。我们这次以用户的名字来做个示例。
首先定义一个结构体 Person

type Person struct {
    Name    string
    Age     int
}

然后我们定义一下这个结构体的方法

func (ps *Person) sayCN(rw http.ResponseWriter, req *http.Request) 
"/"+p.Name

已经有了整体的概念了吧?我们来看一下完整代码

package main

import (
    "net/http"
    "fmt"
)

type Person struct {
    Name    string
    Age     int
}

func (ps *Person) sayCN(rw http.ResponseWriter, req *http.Request)  {
    fmt.Fprintf(rw, "你好啊,%v,你%d岁了吗?\n", ps.Name, ps.Age)
}

func main() {
    p := &Person{"joel", 45}
    http.HandleFunc("/"+p.Name, p.sayCN)
    http.ListenAndServe(":4000", nil)
}
你好啊,joel,你45岁了吗?
Top