← Назад на главную

Стандартная библиотека Go

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

Хотите изучать Go? Начните с интерактивного туториала на официальном сайте: https://go.dev/tour. Он поможет быстро освоить базовые концепции языка.

Сетевые операции и HTTP

Go предоставляет инструменты для создания как клиентских, так и серверных сетевых приложений. Поддерживаются протоколы HTTP, TCP, UDP и другие.

Пример: TCP-соединение (read_status.go)

package main

import (
"bufio"
"fmt"
"net"
)

func main() {
conn, _ := net.Dial("tcp", "golang.org:80") // Устанавливаем TCP-соединение
fmt.Fprintf(conn, "GET / HTTP/1.0\r\n\r\n") // Отправляем строку через соединение
status, _ := bufio.NewReader(conn).ReadString('\n') // Читаем первую строку ответа
fmt.Println(status)
}

запускаем код go run read_status.go

Изображение

В этом примере net.Dial устанавливает соединение с golang.org по порту 80. Затем отправляется простой HTTP-запрос, и выводится первая строка ответа сервера.

Пример: HTTP-запрос GET (http_get.go)

package main

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

func main() {
resp, _ := http.Get("http://golang.org") // Создаем HTTP-запрос GET
body, _ := io.ReadAll(resp.Body) // Читаем тело ответа
fmt.Println(string(body)) // Выводим тело ответа в виде строки
resp.Body.Close() // Закрываем соединение
}

Этот код демонстрирует, как выполнить простой HTTP GET-запрос и вывести полученное тело ответа. Библиотека net/http предоставляет широкие возможности для работы с HTTP, включая поддержку прокси, шифрования TLS и заголовков.

HTML

Для работы с HTML Go предлагает пакеты html и html/template. html используется для экранирования и обработки HTML-разметки, а html/template предназначен для создания многократно используемых шаблонов. Система шаблонов обеспечивает безопасность и расширяемость.

Криптография

Go включает в себя поддержку различных криптографических алгоритмов, таких как MD5, SHA, TLS, DES, AES и HMAC. Также доступен криптографически безопасный генератор случайных чисел.

Кодирование данных

Go предоставляет инструменты для работы с различными форматами данных, включая base64, JSON и XML. Внутренне Go использует кодировку UTF-8, но также поддерживает другие кодировки для взаимодействия с внешними системами. Пакеты позволяют преобразовывать данные между различными форматами и кодировками.

Спасибо за ваше время и внимание! Ваша поддержка очень важна для меня! Если вам понравилась статья, пожалуйста, поставьте лайк этой статье на моем канале Дзен

Подпишитесь на мой Телеграм-канал, чтобы быть в курсе новых статей.

Удачи!