freeCodeCamp/guide/chinese/go/a-simple-web-server-in-go/index.md

32 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: A simple web server in Go
localeTitle: Go中的一个简单Web服务器
---
Go编程语言以拥有内置Web服务器而闻名。在本文中您将了解如何使用Go轻松创建自己的Web服务器。除了已经内置的软件包之外您不需要任何其他软件包
首先,跳转到文本编辑器。然后创建一个名为`webserver.go`的文件并输入以下代码:
```go
package main
import (
"net/http"
"io"
)
func main() {
http.HandleFunc("/", servePage)
http.ListenAndServe(":8080", nil)
}
func servePage(writer http.ResponseWriter, reqest *http.Request) {
io.WriteString(writer, "Hello world!")
}
```
让我们分解上面的代码块。我们导入`net/http`包这个包包含Web服务器本身。然后我们还导入了`io`包,我们稍后会利用它来实际为客户端提供服务。
在`main`函数中我们做了两件事。首先,我们指示服务器让名为`servePage`的函数处理所有传入的流量到`/` - 在这种情况下它意味着它处理对_任何_ `URL`请求。我们做的第二件事实际上是激活服务器。我们使用名为`ListenAndServe`的函数执行此操作。这个函数需要两个参数: `port` (作为`string` ),在这种情况下它是`8080` `handler` (作为`Handler` - 但是最后一个还不重要。我们只会把它变成`nil` ,一切都会好起来的。
在`servePage`我们现在只做一件简单的事情。使用`io`包和它包含的`WriteString`函数,我们可以使用文本`Hello world!`响应客户端的请求`Hello world!` (或任何其他字符串,当然)。您可能还注意到`servePage`函数有两个参数: `writer`和`request` 。使用编写器,您实际上可以响应`HTTP`请求,并且通过`request`您可以获得有关请求本身的更多信息。
恭喜您刚刚创建了第一个Web服务器如果你想测试它只需运行`go run webserver.go` ,启动浏览器并导航到`http://localhost:8080`