Golang Web编程入门示例

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

注册请求处理函数

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

func ( w http.ResponseWriter , r *http.Request)

该函数接收两个参数:

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

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

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

http.HandleFunc("/",func(w http.ResponseWriter,r *http.Request){
    fmt.Fprintf(w,"你好,你请求了:%s\n",r.URL.Path)
})

侦听HTTP连接

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

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

http.ListenAndServe(":80",nil)

完整的示例代码

package main
 
import (
    "fmt"
    "net/http"
)
 
func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "你好,你的请求是 %s\n", r.URL.Path)
    })
 
    http.ListenAndServe(":80", nil)
}

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

如无报错,你会得到一个go_web.exe 可执行文件(Windows系统下),运行它。如果你的系统装有防火墙,可能会进行拦截,允许就好。

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

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/1411.html

分类: 计算机技术
推荐阅读:
Python complex()函数 在Python中,complex()函数用于创建一个复数对象,它可以接受两个参数,表示复数的实部和虚部,也可以只传入一个参数,此时表示复数的实部为该参数,虚部为0。
cannot use 1 (type int) as type bool in assignment错误的解决方法 在go语言中布尔类型不能接受其他类型的赋值,不支持自动或强制的类型转换。
Linux使两个文件的权限相同 在Linux系统下,你可以使用一条命令就能令两个文件的权限相同;
Python getattr()函数 getattr() 函数是 Python 内置函数之一,用于获取一个对象的指定属性值。
查看Linux系统是32位还是64位 在Linux系统下,你可以通过一条命令获得系统是32位的还是64位的:
C语言isalpha()函数:判断字符是否为字母 isalpha()函数是C语言中的一个标准库函数;用于判断一个字符是否为字母(a-z或A-Z);如果参数c是一个字母(不区分大小写),则返回非0值,否则返回0;