3.2 KiB
title | localeTitle |
---|---|
A simple web server in Go | Простой веб-сервер в Go |
Язык программирования Go хорошо известен тем, что имеет встроенный веб-сервер. В этой статье вы узнаете, как вы можете легко сделать свой собственный веб-сервер с Go. Вам не понадобятся другие пакеты рядом с теми, которые уже встроены!
Сначала перейдите в свой текстовый редактор. Затем создайте файл с именем webserver.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
вы можете получить больше информации о самом запросе.
Поздравляем! Вы только что создали свой первый веб-сервер! Если вы хотите протестировать его: просто запустите go run webserver.go
, запустите браузер и перейдите по http://localhost:8080
!