go基础之web应用
Posted zzxiaoma
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go基础之web应用相关的知识,希望对你有一定的参考价值。
Go是一门相对年轻的语言,并且它非常适合用来编写那些需要快速运行的服务器端程序。Go拥有非常多的标准库,许多公司已经开始使用Go了。Go只需要简单的几行就可以建立一个可以运行的web应用。
建立文件server.go
package main
import (
"fmt"
"net/http"
)
func handler(writer http.ResponseWriter, request *http.Request)
fmt.Fprintf(writer, "hello world!")
func main()
http.HandleFunc("/", handler)
http.ListenAndServe(":8000", nil)
运行go run server.go
打开浏览器访问http://localhost:8000/,页面显示hello world!
http.HandleFunc("/", handler)
访问根路径执行handler方法,这个方法带有2个参数,一个是http.ResponseWriter接口,一个是指向http.Request的指针。Request是获取访问地址传递的参数,ResponseWriter用于响应给客户端信息。
http.ListenAndServe(":8000", nil)
启动一个8000端口的web服务,这样一个最简单的web应用就建立好了。
那如果还有别的访问地址呢?
http.HandleFunc("/", handler)
http.HandleFunc("/api", api)
http.HandleFunc("/hand", hand)
http.ListenAndServe(":8000", nil)
按照handler函数的样子,再建立api和hand函数
func api(writer http.ResponseWriter, request *http.Request)
fmt.Fprintf(writer, "hello api!")
func hand(writer http.ResponseWriter, request *http.Request)
fmt.Fprintf(writer, "hello hand!")
如果想对服务设置其他参数,需要先定义http.Server结构体
server := http.Server
Addr: "127.0.0.1:8080",
ReadTimeout: 10 * time.Second,
WriteTimeout: 10 * time.Second,
MaxHeaderBytes: 1 << 20,
server.ListenAndServe()
以上是关于go基础之web应用的主要内容,如果未能解决你的问题,请参考以下文章