Как создать базовый веб-сервер с помощью Go

Как создать базовый веб-сервер с помощью Go

Go — интересный язык программирования для создания современных веб-приложений, а также системного программного обеспечения. После своего выпуска он вызвал огромный ажиотаж и стал основой таких сервисов, как Docker, Kubernetes, Terraform, Dropbox и Netflix .

Более того, обширная коллекция встроенных пакетов Go делает его отличным выбором для веб-программирования. Эта статья покажет вам, как написать базовый веб-сервер на Go.

Импортируйте необходимые пакеты

Пакет net/HTTP предоставляет все необходимое для создания веб-сервера и клиента. В этом пакете представлены некоторые полезные функции для веб-программирования.

Вы можете импортировать его, добавив строку ниже в начало исходного кода:

import "net/http"

В статье также будет использоваться пакет fmt для форматирования строк и пакет log для обработки ошибок. Вы можете импортировать их по отдельности, как показано выше, или импортировать все пакеты с помощью одного оператора импорта:

import (
"fmt"
"log"
"net/http"
)

Приступить к написанию основной функции можно после импорта необходимых пакетов. Идем дальше и сохраняем исходный файл с расширением .go . Если вы используете Vim , используйте команду ниже, чтобы сохранить и выйти из Vim:

:wq server.go

Напишите основную функцию

Программы Go находятся непосредственно внутри основной функции, метко названной «main». Здесь вам нужно будет сделать вызов сервера . Добавьте следующие строки в исходный код и посмотрите, что они делают:

func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

В примере определяется основная функция с использованием ключевого слова func . В Go действуют строгие правила относительно положения открывающей скобки, поэтому убедитесь, что открывающая скобка находится на правильной строке. Первый оператор в main определяет, что все веб-запросы к корневому пути ( «/» ) будут обрабатываться индексом, функцией типа http.HandlerFunc .

Вторая строка запускает веб-сервер через функцию http.ListenAndServe . Он сигнализирует серверу о необходимости непрерывного прослушивания входящих HTTP-запросов на порту 8080 сервера. Второй параметр этой функции нужен для блокировки программы до конца.

Поскольку http.ListenAndServe всегда возвращает ошибку, в примере этот вызов обертывается внутри вызова log.Fatal . Этот оператор регистрирует любые сообщения об ошибках, сгенерированные на стороне сервера.

Реализация функций обработки

Как видите, основная функция вызывает функцию-обработчик index для обработки клиентских запросов. Однако в примере еще не определена эта функциональность для своего сервера.

Давайте добавим необходимые операторы, чтобы сделать индексную функцию пригодной для использования:

func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}

Эта функция принимает два разных аргумента типа http.ResponseWriter и http.Request . Параметр http.ResponseWriter содержит ответ сервера на входящий запрос в форме объекта http.Request .

Функция Fprintf из пакета fmt используется для отображения текстовых строк и управления ими. В статье это используется для отображения ответа сервера на веб-запросы. Наконец, элемент r.URL.Path[1:] используется для извлечения данных после корневого пути.

Добавляем все оставшиеся части

Ваш веб-сервер Go будет готов, как только вы добавите все оставшиеся компоненты. Код будет выглядеть следующим образом:

import (
"fmt"
"log"
"net/http"
)
func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, welcome to %s!", r.URL.Path[1:])
}
func main() {
http.HandleFunc("/", index)
log.Fatal(http.ListenAndServe(":8080", nil))
}

Первая строка необходима для компиляции кода веб-сервера Go в виде исполняемого файла.

Как создать базовый веб-сервер с помощью Go

Скомпилируйте этот код веб-сервера Go как исполняемый файл.


Как очистить и сбросить кеш Microsoft Store в Windows 10

Как очистить и сбросить кеш Microsoft Store в Windows 10

Если у вас возникли проблемы с установкой или обновлением приложения «Магазин» в Windows 10, это может быть связано с проблемой с кешем магазина. Узнайте как <strong>очистить кеш магазина Microsoft</strong> для вашей учетной записи в Windows 10.

Топ-10 лучших бесплатных программ-кейлоггеров для Windows

Топ-10 лучших бесплатных программ-кейлоггеров для Windows

Кейлоггер - это программное обеспечение для захвата и сбора информации о нажатиях клавиш. Узнайте о лучших бесплатных кейлоггерах для Windows. Как защитить свои данные!

Как всегда запускать Microsoft Edge в режиме InPrivate в Windows 10

Как всегда запускать Microsoft Edge в режиме InPrivate в Windows 10

Если вы используете Microsoft Edge на общем компьютере с Windows 10 и хотите сохранить конфиденциальность своей истории просмотров, узнайте, как настроить Edge для запуска в режиме InPrivate.

8 способов открыть MSConfig в Windows 11

8 способов открыть MSConfig в Windows 11

Вы можете решить многие проблемы, возникающие в Windows 11, с помощью настройки системы. Например, если игра не запускается, открытие и изменение настроек MSConfig может решить проблему.

Инструкция по настройке и использованию VPNBook на Windows

Инструкция по настройке и использованию VPNBook на Windows

VPNBook — бесплатный провайдер VPN с неограниченной пропускной способностью, идеален для доступа к заблокированным сайтам. Узнайте, как настроить VPN на Windows за считанные минуты.

Включить/отключить функцию встроенного автозаполнения в проводнике и диалоговом окне «Выполнить» в Windows 10.

Включить/отключить функцию встроенного автозаполнения в проводнике и диалоговом окне «Выполнить» в Windows 10.

Узнайте, как включить или отключить встроенное автозаполнение в адресной строке проводника и диалоговом окне «Выполнить» в Windows 10. Следуйте нашим простым шагам!

6 способов получить доступ к меню параметров загрузки в Windows 10

6 способов получить доступ к меню параметров загрузки в Windows 10

Windows 10 предоставляет <strong>меню параметров загрузки</strong>, позволяющее исправлять проблемы и перенастраивать систему. Узнайте, как получить доступ к этому меню.

Как запустить любое приложение с помощью кнопки «Удобство доступа» на экране входа в Windows 10

Как запустить любое приложение с помощью кнопки «Удобство доступа» на экране входа в Windows 10

Кнопка «Удобство доступа» на экране входа в Windows 10 дает возможность пользователям запускать приложения, такие как диспетчер задач и командную строку, для улучшения доступа и функциональности.

Как изменить веб-камеру по умолчанию на компьютере с Windows 10

Как изменить веб-камеру по умолчанию на компьютере с Windows 10

Эта статья поможет вам настроить переключение между веб-камерами на компьютере с Windows 10. Убедитесь, что у вас по умолчанию установлена нужная веб-камера.

9 способов открыть Блокнот в Windows 11

9 способов открыть Блокнот в Windows 11

Узнайте, как быстро и удобно открыть Блокнот в Windows 11 различными способами. Bлокнот — это незаменимое текстовое приложение, которое всегда под рукой.