目录
第一节-家族的屈辱
第二节-初见go语言
第三节-初识gin框架
GET请求
编辑
POST请求
PUT请求
DELETE请求
第四节-template的初识
main函数代码
html代码
效果展示
第五节-总结
LOGO
在这个设计中,引入了一只更加优雅的绿色蜥蜴(Gopher),它身披金色斗篷,手持象征权力与智慧的权杖,矗立在云雾缭绕的山巅之上。其身后,一轮光芒万丈的太阳正从地平线升起,不仅象征着新的开始和无限可能,也代表了追求卓越的精神。整体画面采用了冷色调,营造出一种神秘而高贵的氛围,与“成神之路”的主题相得益彰。
第一节-家族的屈辱
经过深思熟虑,我决定走上修行Go语言的道路。在我六岁那年,我已经完成了“筑基”的圆满,这在我们这个世界里意味着打下了修炼的坚实基础。然而,正当我的人生似乎即将步入辉煌之时,一场由家族内部的大长老所策划的阴谋彻底颠覆了我的生活。由于他的嫉妒与野心,我从众人眼中的天才变成了一个所谓的“废材”,而我的父亲也因为这场阴谋失去了族长的地位。这样的转变对我来说是巨大的打击,但我并没有因此而沉沦。
第二节-初见go语言
面对逆境,我选择了不同的道路来证明自己的价值——学习Go语言。这是一门现代的编程语言,它能帮助人们解决复杂的问题,创造无限的可能性。我意识到,通过掌握Go语言,我可以开辟一条不同于传统修炼的道路,利用技术的力量实现个人的成长和发展,甚至为家族的复兴贡献一份力量。
package mainimport ("fmt""net/http")func sayHello(w http.ResponseWriter, r *http.Request) {_, _ = fmt.Fprintln(w, "hello go")}func main() {http.HandleFunc("/hello", sayHello)err := http.ListenAndServe(":1205", nil)if err != nil {fmt.Printf("start server failed,err:%v\n", err)return}}
这条新道路上充满了挑战,比如技术上的难题、资源的获取等。但我也知道,这些困难其实是成长的机会。我从基础学起,逐渐深入理解Go语言的核心概念,比如并发编程、内存管理等。我还积极参与开源项目和社区活动,这样不仅能提升我的技术水平,还能结识志同道合的朋友,一起探索技术的边界。
因为上述代码中端口号修改为了1205,所以可以通过localhost:1025/hello来进行访问。
三十年的时间很长,但对于一个有着坚定意志和明确目标的人来说,这只是通向成功的旅程的一部分。我始终相信,“三十功名尘与土,八千里路云和月”。无论过去经历了多少风雨,只要心中有梦想,脚下就有前进的道路。通过不懈的努力,我不仅能够掌握一门强大的工具——Go语言,还能在这过程中找回失去的一切,甚至赢得更加广阔的未来。
package mainimport ("fmt""net/http")// sayHello 是一个HTTP处理函数,用于响应/hello路由的请求。// 参数:// w: http.ResponseWriter 类型,用于向客户端发送响应。// r: *http.Request 类型,包含了请求的所有信息。func sayHello(w http.ResponseWriter, r *http.Request) {_, _ = fmt.Fprintln(w, "hello go") // 向客户端输出 "hello go"}// main 函数是程序的入口点。func main() {// 为 "/hello" 路由注册处理函数 sayHello。http.HandleFunc("/hello", sayHello)// 在端口 1205 上启动 HTTP 服务器。err := http.ListenAndServe(":1205", nil)// 如果启动服务器失败,打印错误信息并退出程序。if err != nil {fmt.Printf("start server failed,err:%v\n", err)return}}
第三节-初识gin框架
Gin 是一个用 Go (Golang) 编写的 web 框架,它以其高性能和简洁的 API 而闻名。Gin 构建于标准库 net/http
之上,通过提供中间件支持、路由管理和错误处理等功能,简化了 Web 应用程序的开发过程。
package mainimport "github.com/gin-gonic/gin"// sayHello2 是一个HTTP处理函数,用于响应特定路由的请求。// 参数:// c: *gin.Context 类型,包含了请求和响应的所有信息。func sayHello2(c *gin.Context) {c.JSON(200, gin.H{ // 向客户端返回 JSON 响应,状态码为 200,消息为 "Hello go!!!""message": "Hello go!!!",})}// main 函数是程序的入口点。func main() {r := gin.Default() // 创建一个默认的 Gin 引擎实例。// 为 "/book" 路由注册 GET 请求处理函数。r.GET("/book", func(c *gin.Context) {c.JSON(200, gin.H{ // 向客户端返回 JSON 响应,状态码为 200,消息为 "GET""message": "GET",})})// 为 "/book" 路由注册 POST 请求处理函数。r.POST("/book", func(c *gin.Context) {c.JSON(200, gin.H{ // 向客户端返回 JSON 响应,状态码为 200,消息为 "POST""message": "POST",})})// 为 "/book" 路由注册 PUT 请求处理函数。r.PUT("/book", func(c *gin.Context) {c.JSON(200, gin.H{ // 向客户端返回 JSON 响应,状态码为 200,消息为 "PUT""message": "PUT",})})// 为 "/book" 路由注册 DELETE 请求处理函数。r.DELETE("/book", func(c *gin.Context) {c.JSON(200, gin.H{ // 向客户端返回 JSON 响应,状态码为 200,消息为 "DELETE""message": "DELETE",})})// 在端口 1205 上启动 HTTP 服务器。r.Run(":1205")}
GET请求
POST请求
PUT请求
DELETE请求
这里用到的接口测试工具是PostMan
请求的时候后端也会给出相应的反馈。
第四节-template的初识
在 Go 语言中,text/template
和 html/template
包提供了模板处理的功能。这两个包非常相似,但 html/template
包提供了额外的安全性措施,防止 XSS(跨站脚本攻击)。
模板文件包含文本和动作(actions),其中动作是用于插入数据或执行控制流程的指令。模板文件通常以 .tmpl
或 .html
为扩展名。
main函数代码
package mainimport ("fmt""html/template""net/http")// sayHello3 是一个HTTP处理函数,用于响应根路径 "/" 的请求。// 参数:////w: http.ResponseWriter 类型,用于向客户端发送响应。//r: *http.Request 类型,包含了请求的所有信息。func sayHello3(w http.ResponseWriter, r *http.Request) {// 解析 HTML 模板文件 "./hello.html"。t, err := template.ParseFiles("./hello.html")if err != nil {fmt.Printf("parse template failed, err:%v\n", err) // 如果解析模板失败,打印错误信息并返回。return}// 使用解析后的模板输出响应,传递字符串 "VON" 作为数据。err = t.Execute(w, "VON")if err != nil {fmt.Printf("render template failed, err:%v\n", err) // 如果渲染模板失败,打印错误信息并返回。return}}// main 函数是程序的入口点。func main() {// 为根路径 "/" 注册处理函数 sayHello3。http.HandleFunc("/", sayHello3)// 在端口 1205 上启动 HTTP 服务器。err := http.ListenAndServe(":1205", nil)if err != nil {fmt.Printf("start http server failed, err:%v\n", err) // 如果启动服务器失败,打印错误信息并退出程序。return}}
html代码
<!-- 1. 构建模版 --><!-- 这是一个简单的 HTML 模板文件,用于生成动态内容。 --><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <!-- 使用 Go 模板语法 {{ . }} 来插入传递给模板的数据。 --> <p>Hello {{ . }}</p></body></html>
效果展示
第五节-总结
当有一天我站在成功的顶峰,回首过去的坎坷与挫折,它们将成为通向辉煌未来的垫脚石。我希望在这条不平凡的道路上保持初心,勇敢前行,用实际行动书写属于自己的传奇故事。我坚信,通过自己的努力,终将夺回属于我们的一切。