Golang (Go) – язык программирования, набирающий популярность благодаря своей простоте, скорости и надежности. Он отлично подходит для создания веб-приложений, поэтому в этой статье мы рассмотрим, как создать свой первый сайт на Golang.
Шаг 1: Установка Golang
Скачайте и установите Golang с официального сайта: https://golang.org/dl/. Убедитесь, что Go правильно добавлен в PATH.
Шаг 2: Создание проекта
Создайте папку для вашего проекта и инициализируйте его командой:
go mod init myproject
Шаг 3: Зависимости
В файле go.mod добавьте зависимость для пакета net/http, который используется для работы с HTTP:
require (
...
"net/http"
)
Шаг 4: Сервер
Создайте файл main.go и добавьте код для создания простого HTTP-сервера:
package main
import (
"fmt"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Привет, мир!")
})
http.ListenAndServe(":8080", nil)
}
Шаг 5: Запуск сервера
Запустите сервер командой:
go run main.go
Шаг 6: Маршрутизация
Добавьте маршруты для обработки разных URL-адресов:
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Привет, мир!")
})
http.HandleFunc("/about", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "О сайте")
})
http.ListenAndServe(":8080", nil)
}
Шаг 7: Шаблоны
Используйте шаблоны HTML для динамического формирования страниц:
func main() {
t := template.Must(template.ParseFiles("index.html"))
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
t.Execute(w, struct {
Title string }{
Title: "Главная страница",
})
})
http.ListenAndServe(":8080", nil)
}
Шаг 8: Подключение CSS и JavaScript
Добавьте CSS и JavaScript для оформления и интерактивности:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>{{ .Title }}</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>{{ .Title }}</h1>
<script src="script.js"></script>
</body>
</html>
Заключение:
В этой статье мы рассмотрели основы создания веб-сайта на Golang. Вы можете использовать этот код как базу для своих будущих проектов.