厚土Go学习笔记 | 35. web服务器实现动态路径
时间:2022-05-04
本文章向大家介绍厚土Go学习笔记 | 35. web服务器实现动态路径,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
有时候,我们希望给不同的用户有不同的服务路径。抛开那些高大上和深层次的原因,最浅显的,可以让用户觉得自己挺受重视。路径名称最好就是用户有关的字符串。我们这次以用户的名字来做个示例。
首先定义一个结构体 Person
type Person struct {
Name string
Age int
}
然后我们定义一下这个结构体的方法
func (ps *Person) sayCN(rw http.ResponseWriter, req *http.Request)
剩下的就是 http.Handler
的实现了。因为要动态,所以路径那里,我们写成了这样
"/"+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)
}
由于是 web 服务器应用,程序运行后,需要使用浏览器访问
http://192.168.1.105:4000/joel
地址中的 joel ,就是用户的名字了。你可以试着改改用户信息,看一下路径也会随之变化的。
当前代码的运行结果是
你好啊,joel,你45岁了吗?
- MySQL(十六)之MySQL用户管理
- JavaScript中this关键字使用
- thrift:swift项目笔记
- Java常用类(五)之集合工具类Collections
- Windows8小技巧(1)—Map Network Drive
- mysql: Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for opera
- tomcat 8.5.9.0 解决catalina.out过大的问题
- 物联网是如何驱动网络变革的?——上
- Java常用类(四)之数组工具类Arrays
- java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.isAsyncStarted()Z 的解决
- JS魔法堂:定义页面的Dispose方法——[before]unload事件启示录
- HashSet/HashMap详解
- Ajax大显身手
- bash编程之xargs实用技巧
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 打卡群刷题总结0716——不同路径
- 原理 + 代码|手把手教你用Python实现智能推荐算法
- 机器学习必刷题-基础概念篇(1):为什么用AUC做评价指标?
- 机器学习必刷题-手撕推导篇(3):FM与softmax
- Python面试必刷题系列(4)
- SQL面试必刷题(1) Case When
- 张量的数学运算
- 数据结构高频面试题-图
- nn.functional和nn.Module
- 20分钟学会DBSCAN聚类算法
- Selenium Firefox驱动程序:使用Firefox浏览器自动进行测试
- Dataset和DataLoader
- 3分钟短文 | PHP 删除目录下所有的文件,这3种写法哪个有bug?
- 【Hive】DDL 与 DML 操作
- 模型层