Этот урок посвящен разработке веб-сайта на Golang с отслеживанием нескольких URL-адресов и отображением различной информации пользователю в зависимости от перехода.
Необходимые пакеты
Для работы нам потребуются пакеты net/http (для обработки HTTP-запросов) и fmt (для форматированного вывода). Импортируем их следующим образом:
import (
t"fmt"
t"net/http"
)
Обработка URL-адресов с помощью HandleFunc
В функции main используем функцию http.HandleFunc. Она принимает два аргумента:
- URL-адрес для отслеживания (например, / для главной страницы, /about для страницы «О нас»).
- Функция-обработчик, вызываемая при переходе на указанный URL-адрес.
Пример:
http.HandleFunc("/", homePage)
Здесь при переходе на / вызывается функция homePage.
Создание и запуск локального сервера
Запускаем локальный сервер с помощью http.ListenAndServe:
http.ListenAndServe(":8080", nil)
Первый аргумент — порт (8080), второй — nil (отсутствие дополнительных параметров).
Функция-обработчик homePage
Функция homePage обрабатывает запросы к главной странице. Она принимает:
- w типа http.ResponseWriter — для отправки ответа пользователю.
- r типа *http.Request — информацию о запросе.
Пример:
func homePage(w http.ResponseWriter, r *http.Request) {
tfmt.Fprintf(w, "Go is super easy!")
}
На страницу выводится текст «Go is super easy!». Рекомендуется использовать английский язык и латинские символы до настройки кодировки.
Обработка дополнительных URL-адресов
Добавим обработку для страницы /contacts:
http.HandleFunc("/contacts/", contactsPage)
func contactsPage(w http.ResponseWriter, r *http.Request) {
tfmt.Fprintf(w, "Contact Page")
}
Обратите внимание на слэш в конце /contacts/.
Запуск и тестирование
Запускаем приложение командой:
go run main.go
Открываем браузер и переходим по адресу localhost:8080.
В этом уроке мы научились создавать простой веб-сайт на Golang, обрабатывая различные URL-адреса. В следующих уроках рассмотрим работу с данными и создание HTML-шаблонов.