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

分类: 计算机技术
推荐阅读:
QtSpim: Attempt to execute non-instruction at 0x00400030 错误解决方法 使用QtSpim运行MIPS32汇编代码时提示Attempt to execute non-instruction at 0x00400030 错误表示你的程序没有正确退出;
Windows10查看产品序列号S/N 对于新购机器一定要确认S/N是否与包装一致,再通过官方途径确认该序列号出厂日期,以避免买到翻新机。
一条命令下载整个网站 在Linux系统下,你可以通过一条命令来下载整个网站,并按照网站的目录结构生成对应的文件夹及网页文件:
提示Permission denied的解决方法 通常,提示Permission denied表示你的某个操作权限不够;在Linux系统中,权限分为读权限、写权限和可执行权限,当你所在的用户组没有相关权限时,则会提示Permission denied;
Golang实现判断文件或文件夹是否存在 golang通过使用 os包中的Stat()函数和IsNotExist()函数即可判断文件或文件夹是否存在。
Rust实现字符串sha1、sha256、sha512加密 本文将在Rust语言中使用sha1、sha256、sha512等安全散列算法对字符串进行加密;