Как создать базовый веб-сервер с помощью 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 как исполняемый файл.


Важные функции безопасности в последней версии Windows 10

Важные функции безопасности в последней версии Windows 10

Благодаря обновлению Windows 10 Spring Creators Update (92,99 доллара США на Amazon.com) Microsoft дает вам больше контроля над вашими данными и учетными записями. Узнав о новых функциях, таких как временная шкала, общий доступ и приложение «Настройки», вы, вероятно, захотите ознакомиться с этим трио новых настроек конфиденциальности.

Как защитить файлы от ошибочного удаления Защитником Windows

Как защитить файлы от ошибочного удаления Защитником Windows

Защитник Windows — это антивирус и инструмент безопасности компьютерной системы, способный устранять вредоносные программы. Однако что, если этот инструмент случайно удалит ваши важные данные?

Как использовать приложение Microsoft Authenticator

Как использовать приложение Microsoft Authenticator

Microsoft Authenticator — это приложение, которое обеспечивает двухфакторную аутентификацию в поддерживаемых приложениях и веб-сайтах.

Как легко поменять обои Chromebook

Как легко поменять обои Chromebook

Если вы новичок в Chrome OS и у вас есть Chromebook, вы также можете изменить фон по умолчанию. Вот как изменить обои рабочего стола на Google Chromebook.

Вреден ли режим гибернации для ПК?

Вреден ли режим гибернации для ПК?

Режим гибернации возник из-за необходимости поддерживать компьютер включенным 24 часа в сутки, 7 дней в неделю, не разряжая батарею, или гарантировать, что на систему не повлияют перебои в подаче электроэнергии, в отличие от спящего режима.

Как добавить/удалить информационные теги для новостей и интересов в Windows 10

Как добавить/удалить информационные теги для новостей и интересов в Windows 10

Карточки с информацией о погоде, финансах, спорте и дорожном движении можно включить (добавить) или отключить (удалить). В этом руководстве показано, как добавлять и удалять информационные теги для ленты новостей и интересов в Windows 10.

Подробная инструкция по удалению GhostDNS

Подробная инструкция по удалению GhostDNS

Вы случайно заразились GhostDNS и не знаете, что делать, поскольку все используемые вами антивирусные инструменты не способны успешно удалить этот троян? Эта статья поможет вам.

Инструкция по использованию Защитника Windows

Инструкция по использованию Защитника Windows

Как мы все знаем, в Windows 10 есть встроенная антивирусная программа реального времени под названием «Защитник Windows», и фактическое тестирование показывает, что этот инструмент работает относительно эффективно.

Вот как увеличить объем виртуальной памяти в Windows

Вот как увеличить объем виртуальной памяти в Windows

Виртуальная память является незаменимым компонентом операционной системы Windows. Когда объема оперативной памяти вашего компьютера недостаточно для запуска программы, операционная система перейдет на использование виртуальной памяти.

Как отключить предупреждение «Недостаточно места на диске» в Windows 10/8/7

Как отключить предупреждение «Недостаточно места на диске» в Windows 10/8/7

Если предупреждение о нехватке места касается не системного диска (C:) и вы хотите от него избавиться, вот настройка реестра, которая поможет отключить предупреждение о нехватке места на диске в Windows 10/8/7.