Маленькая книга о Go – Глава 5: Лакомые кусочки

В этой главе мы поговорим о возможностях Go, которые не вписываются в остальные разделы. Обработка ошибок Предпочтительным способом обработки ошибок в Go является возвращение значений вместо исключений. Взглянем на функцию strconv.Atoi, которая принимает строку и пытается конвертировать её в целое число:

Маленькая книга о Go – Глава 6: Конкурентность

Go часто описывают, как дружелюбный к параллельному программированию язык. Причина этому заключается в предоставлении простого синтаксиса для двух мощных механизмов: горутин и каналов. Горутины Горутины похожи на потоки, но они управляются самим Go, а не операционной системой. Код, который запускается как горутина, может работать одновременно с другим кодом. Давайте посмотрим […]

Как в Go lang сделать JSON из структуры

Приведу сразу код: package main import ( «fmt» «encoding/json» ) type Employee struct { Name string `json:»empname»` Number int `json:»empid»` } func main() { emp := &Employee{Name: «Rocky»,Number: 5454} e, err := json.Marshal(emp) if err != nil { fmt.Println(err) return } fmt.Println(string(e)) }

Маленькая книга о Go – Введение

У меня всегда было чувство на грани любви и ненависти, когда дело доходило до изучения новых языков. С одной стороны, языки имеют настолько фундаментальное значение для того, что мы делаем, что даже мелкое различие может оказать ощутимое значение. Этот вау эффект когда какой-то клик может оказать настолько сильное влияние на то, как […]

Шпаргалка по работе с JSON в Golang

Парсинг JSON – одна из наиболее частых задач: в JSON приходят данные в REST API, конфигурационные файлы часто оформляются в виде JSON и пр. Go предоставляют довольно удобные механизмы для этих целей расположенные в пакете «encoding/json» включающий в себя необходимые методы.

Обзор всех сервисов для аналитики каналов в Телеграм

Итак, как проанализировать что происходит в Телеграме?Допустим вы хотите понять что происходит в вашем канале или купить рекламу на другом канале. Как оценить качество и интересы аудитории? Как понять живые люди там или боты? Делается это достаточно просто и элементарно, однако большая часть сервисов такой информации не предоставляет даже за […]

Маленькая книга о Go – Глава 1: Основы

Go компилируемый язык со статической типизацией. Он имеет C-подобный синтаксис и сборку мусора. Что это означает? Компиляция Компиляция это процесс перевода исходного кода, который написали вы, в язык более низкого уровня – либо ассемблер (как в случае с Go), либо в какой-то другой промежуточный язык (как в случае с Java […]

Как в Golang сделать горячую перезагрузку данных из конфига

Возможность перезагрузить (reload) конфигурацию без перезапуска (restart) программы стало не излишеством, а производственной необходимостью. Например, такая функция есть в Nginx и Postgresql (не для всех настроек, но для большинства). Основная проблема при решении подобных задач это обеспечить одновременный доступ для чтения и записи к общему объекту содержащему конфигурацию. Существует много […]

Краткий обзор 10 популярных архитектурных шаблонов приложений

Вы когда-нибудь задавались вопросом о том, как именно разрабатываются масштабные системы крупных предприятий? До того, как перейти к непосредственной разработке программного обеспечения, мы определяемся с правильным архитектурным шаблоном, который даст нам желаемое качество и функционал. Следовательно, мы должны разбираться в нюансах различных архитектур еще до того, как применить их к […]

Как в Golang задать proxy для http-запросов

Допустим нужно запросить данные с какого-либо сайта, но делать это нужно через прокси-сервер. Вариантов как это сделать множество. Рассмотрим некоторые из них. Самый очевидный, если вы используете стандартный http-клиент, сконфигурировать его: