当前位置: 首页 > wzjs >正文

dede能建立手机网站吗台州百度推广优化

dede能建立手机网站吗,台州百度推广优化,泉州网络公司,家居网站建设公司排名go go go 出发咯 - go web开发入门系列(一) helloworld Go 语言(又称 Golang)凭借其简洁的语法、出色的性能和强大的并发处理能力,在 Web 开发领域变得越来越受欢迎。与其他语言不同,Go 拥有一个非常强大的…

go go go 出发咯 - go web开发入门系列(一) helloworld


Go 语言(又称 Golang)凭借其简洁的语法、出色的性能和强大的并发处理能力,在 Web 开发领域变得越来越受欢迎。与其他语言不同,Go 拥有一个非常强大的标准库 net/http,让你无需依赖任何第三方框架,就能轻松构建起一个功能完整的 Web 服务器。

这篇博文将带你从零开始,一步步学习如何使用 net/http 包来创建你的第一个 Go Web 应用。

开始之前,先叠个甲,默认你现在已经学完了go的基础部分,现在来学习go web相关的内容,使用go语言进行后端开发


准备工作

在开始之前,请确保你已经:

  1. 安装了 Go。
  2. 配置好了你的 Go 开发环境(例如设置了 GOPATH 或使用 Go Modules)。
  3. 了解 Go 语言的基础语法。

ps:我使用的go sdk 是 go1.24.4 windows/386

1. 你的第一个 “Hello, World” 服务器

让我们从一个最简单的 Web 服务器开始。搭建最简单的go应用服务

请添加图片描述

代码示例

创建一个名为 main.go 的文件,并输入以下代码:

package mainimport ("fmt""log""net/http"
)// 定义一个处理器函数 (handler function)
// w: 用于向客户端发送响应
// r: 代表来自客户端的 HTTP 请求
func helloHandler(w http.ResponseWriter, r *http.Request) {// 向响应写入内容fmt.Fprintf(w, "Hello, World! 你访问的路径是: %s", r.URL.Path)
}func main() {// 注册处理器函数,当访问根路径 "/" 时,调用 helloHandlerhttp.HandleFunc("/", helloHandler)// 启动服务器,监听 8080 端口log.Println("服务器启动中,监听端口 8080...")err := http.ListenAndServe(":8080", nil)if err != nil {log.Fatal("服务器启动失败: ", err)}
}

简单为上述代码做个解释:

代码解析:

  • package main: 声明这是一个可执行程序。
  • import (...): 导入我们需要的包。net/http 是核心,fmt 用于格式化字符串,log 用于输出日志。
  • helloHandler(w http.ResponseWriter, r \*http.Request): 这是一个处理器函数。所有处理 Web 请求的函数都必须符合这个签名。
    • http.ResponseWriter: 一个接口,你的服务器通过它来向客户端写入响应头和响应体。
    • *http.Request: 一个结构体,包含了客户端发来的所有请求信息,比如请求方法 (GET, POST)、URL、请求头等。
  • http.HandleFunc("/", helloHandler): 这行代码的作用是注册路由。它告诉 net/http 包,当有请求访问网站的根路径 (/) 时,应该调用 helloHandler 函数来处理。
  • http.ListenAndServe(":8080", nil): 这是启动服务器的关键。
    • 第一个参数 ":8080" 表示服务器在本地的 8080 端口上进行监听。
    • 第二个参数 nil 表示我们使用默认的 ServeMux(可以理解为一个路由分发器)。我们通过 http.HandleFunc 注册的处理器就是被注册到了这个默认的 ServeMux 上。

代码运行

goland中直接启动或者cd命令行进入该项目,执行

go run main.go

PS D:\workspace\Go\helloworld> go run .\main.go
2025/07/08 10:53:12 服务器启动中,监听端口 8080…

然后打开浏览器,访问localhost:8080

请添加图片描述

2. 理解处理器 (Handler)

在 Go 中,任何实现了 http.Handler 接口的类型都可以作为一个请求处理器。这个接口非常简单,只有一个方法:

type Handler interface {ServeHTTP(ResponseWriter, *Request)
}

我们之前写的 helloHandler 函数之所以能工作,是因为 http.HandleFunc 在内部做了一个适配,将一个具有正确签名的函数(如 helloHandler)转换成了一个 http.Handler

理解 http.ResponseWriter*http.Request 是 Web 开发的关键。

  • *http.Request: 你的信息来源。
    • r.URL.Path: 获取请求的路径 (例如 /, /about)。
    • r.Method: 获取请求方法 (例如 “GET”, “POST”)。
    • r.Header: 获取请求头。
    • r.ParseForm()r.FormValue("key"): 解析并获取表单数据。
  • http.ResponseWriter: 你的输出工具。
    • w.Write([]byte("...")): 写入响应体,这是最常用的方法。
    • w.WriteHeader(http.StatusOK): 设置 HTTP 状态码 (例如 200 OK, 404 Not Found)。
    • w.Header().Set("Content-Type", "application/json"): 设置响应头。

3.提供静态文件服务

一个真实的网站不仅有动态内容,还需要 HTML、CSS、JavaScript 和图片等静态文件。net/http 包也提供了非常便捷的方式来处理它们。

假设你的项目结构如下:

/
|-- main.go
|-- static/|-- index.html|-- style.css

请添加图片描述

index.html

<!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8"><title>Go 静态网站</title><link rel="stylesheet" href="/static/style.css">
</head>
<body><h1>欢迎来到我的静态网站!</h1><p>这个文件由 Go 服务器提供。</p>
</body>
</html>

style.css

body {font-family: sans-serif;background-color: #f0f0f0;color: #333;
}

修改main.go文件如下:

package mainimport ("log""net/http"
)func main() {// 创建一个文件服务器,指向 "static" 目录fs := http.FileServer(http.Dir("./static"))// 将 /static/ 路径的请求交给文件服务器处理// StripPrefix 会移除 URL 中的 /static/ 前缀,这样文件服务器才能在 static/ 目录中找到文件http.Handle("/static/", http.StripPrefix("/static/", fs))// 根路径的处理器,可以用来提供主页http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {http.ServeFile(w, r, "./static/index.html")})log.Println("服务器启动中,监听端口 8080...")err := http.ListenAndServe(":8080", nil)if err != nil {log.Fatal("服务器启动失败: ", err)}
}

代码简单解释:

http.FileServer(http.Dir("./static")): 创建了一个能够提供 static 目录下文件服务的处理器。

http.Handle("/static/", ...): 使用 http.Handle 注册一个 http.Handler。所有以 /static/ 开头的请求都会被这个文件服务器处理。

http.StripPrefix(...): 这是一个适配器,它会修改请求的 URL。例如,当浏览器请求 /static/style.css 时,StripPrefix 会把 /static/ 去掉,然后把剩下的 /style.css 交给文件服务器。文件服务器就会去 static 目录下寻找 style.css 文件。

http.ServeFile(...): 这是一个便捷函数,用于直接响应一个文件。我们用它来将 index.html 作为根路径的默认页面。

再次运行,访问localhost:8080,可以看到静态页面被渲染到了访问网页上。

请添加图片描述

那么至此,简易的使用 net/http 的后端内容已经搭建完成。

http://www.dtcms.com/wzjs/140192.html

相关文章:

  • 上海网站开发技术最好公司电话制作一个网站的全过程
  • 图片设计网站推荐互联网营销案例分析
  • 企业内部网站模板网站的优化公司
  • 自助手机建站网站维护费用一般多少钱
  • 轻松筹 的网站价格做网站建设公司企业网站
  • 洮南市城乡和住房建设局网站宁波优化网站厂家
  • 做网站的价钱关键词筛选
  • 济南做html5网站建设湖南专业seo优化
  • 泰州seo网站推广贴吧高级搜索
  • 桂林什么公司做网站推广好百度快照优化培训班
  • 风向 网站免费开发软件制作平台
  • 购物网站分为几个模块北京百度seo
  • html网站模板 淘宝商城国产长尾关键词拘挖掘
  • 新疆美食网站建设前的市场分析网站开发详细流程
  • 网站用什么空间好营销推广模式有哪些
  • 真正免费的网站建站平台排名常州seo建站
  • 国外网页游戏网站站长统计app软件下载
  • 网站运营与数据分析百度竞价推广效果怎么样
  • 重庆好的网站建设舆情分析报告
  • 公司的网站建设费做什么费用百度客户端下载安装
  • 网站开发设计有哪些怎样进行关键词推广
  • 云南省网站建设友情链接外链
  • 软工毕设做网站什么叫优化关键词
  • html mip 网站百度网盘客服电话人工服务
  • 商城网站的建设做销售最挣钱的10个行业
  • 专注河南网站建设提升网站权重的方法
  • 建网站的公司广州长沙县网络营销咨询
  • 关于网站建设与维护的心得体会网站推广软件有哪些
  • wordpress iot域名seo站长工具
  • 怎么用腾讯云做网站小说关键词生成器