Golang Web入门(1):自顶向下理解Http服务器

2020-05-15 00:00:00 函数 是一个 方法 类型 来看看

摘要

由于Golang的并发处理,很多公司使用Golang编写微服务。对于Golang来说,只需要短短几行代码就可以实现一个简单的Http服务器。加上Golang的协程,这个服务器可以拥有极高的性能。然而,正是因为代码过于简单,我们才应该去研究他的底层实现,做到会用,也知道为什么这么用。

在本文中,会以自顶向下的方式,从如何使用,到如何实现,一点点的分析Golang中net/http这个包中关于Http服务器的实现方式。内容可能会越来越难理解,作者会尽量把这些源码讲的更清楚一些,希望对各位有所帮助。

1 创建

首先,我们以怎么用为起点。

毕竟,知道了怎么用,才能一步一步的深入挖掘为什么这么用。

先来看简单的创建方式(省略了导包):

func helloWorldHandler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello World !")
}

func main() {
    http.HandleFunc("/", helloWorldHandler)
    http.ListenAndServe(":8000", nil)
}

相关文章