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应用的主要内容,如果未能解决你的问题,请参考以下文章

Go语言基础之Cookie和Session

Go Web编程实战----Go语言的基础语法

Go Web编程实战----Go语言的基础语法

Go Web编程实战----Go语言的基础语法

Go语言基础之net/http

Go 语言基础 之 进阶