fix(guide): simplify directory structure

This commit is contained in:
Mrugesh Mohapatra
2018-10-16 21:26:13 +05:30
parent f989c28c52
commit da0df12ab7
35752 changed files with 0 additions and 317652 deletions

View File

@@ -0,0 +1,32 @@
---
title: A simple web server in Go
localeTitle: Простой веб-сервер в Go
---
Язык программирования Go хорошо известен тем, что имеет встроенный веб-сервер. В этой статье вы узнаете, как вы можете легко сделать свой собственный веб-сервер с Go. Вам не понадобятся другие пакеты рядом с теми, которые уже встроены!
Сначала перейдите в свой текстовый редактор. Затем создайте файл с именем `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` : этот пакет содержит сам веб-сервер. Затем мы также импортируем пакет `io` , мы воспользуемся этим позже, чтобы фактически что-то предложить клиенту.
В `main` функции мы делаем две вещи. Прежде всего, мы `servePage` серверу разрешить функции, называемой `servePage` обрабатывать весь входящий трафик в `/` -, в этом случае это означает, что он обрабатывает запросы по _любому_ `URL` . Во-вторых, мы фактически активируем сервер. Мы делаем это с помощью функции `ListenAndServe` . Для этой функции требуются два параметра: `port` (как `string` ), в этом случае это `8080` , а `handler` (как `Handler` ) - однако последний еще не важен. Мы просто сделаем это `nil` и все будет работать нормально.
В `servePage` мы делаем только одну простую вещь, пока. Используя пакет `io` и функцию `WriteString` которую он содержит, мы можем ответить на запрос клиентов текстом `Hello world!` (или любой другой строки, конечно). Вы также могли заметить , что `servePage` функция имеет два аргумента: `writer` и `request` . С автором вы можете ответить на `HTTP` запрос, и с `request` вы можете получить больше информации о самом запросе.