Go语言内置了Web服务;net/http 标准库中包含有关HTTP协议的所有功能。这其中包括HTTP客户端和HTTP服务端,在本文中,你将发现使用GO创建一个可在浏览器中查看的WEB服务程序非常简单。

注册请求处理函数

首先,创建一个处理程序;该处理程序从浏览器,HTTP客户端或API请求接收所有传入的HTTP连接。

该函数接收两个参数:

一个http.ResponseWriter 用于text/html响应。

http.Request 其中包含有关此HTTP请求的所有信息,包括URL或者请求头字段之类的信息。

将请求处理函数注册到默认的HTTP Server:

侦听HTTP连接

仅请求处理程序不能接受来自外部的任何HTTP连接。HTTP服务器必须侦听端口以将连接传递到请求处理程序。大多数情况下,80端口是HTTP服务的默认端口,所以本示例中还将侦听它,你可以自行修改。

以下代码将启动Go的默认HTTP服务,并侦听80端口上的连接。你可以在浏览器上打开 http://localhost/ 或者http://127.0.0.1/ 看到程序实现效果。

完整的代码

将代码保存为go_web.go,并使用Go 进行编译:

如无报错,你会得到一个go_web.exe 可执行文件(Windows系统下),运行它。如果你的系统装有防火墙,可能会出现下面这样的提示,一定要允许:

现在打开浏览器,输入 http://127.0.0.1/ 即可查看效果,不妨在后面加几个字符,你会看到不同的效果。