Главная страница  Карта сайта  Печать  Написать письмо  Twitter  RSS
Войти
Персональный сайт
Стеллецкого Владимира
Обновлено: 07.05.2019 г.

Язык программирования Go

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

Полезные ссылки (07.05.2019) #

Комментарии

swi, www (01.05.2017)
А не хочешь изучить рефал? Я его активно использую...

Практичный Go: советы по написанию поддерживаемых программ в реальном мире (09.03.2019) #

Статья посвящена лучшим практикам написания кода Go. Она составлена в стиле презентации, но без обычных слайдов. Постараемся кратко и чётко пройтись по каждому пункту.

https://habr.com/ru/post/441842/

Содержание:

  1. Основополагающие принципы
    1. Простота
    2. Читаемость
    3. Продуктивность
  2. Идентификаторы
    1. Именуйте идентификаторы исходя из ясности, а не краткости
    2. Длина идентификатора
    3. Не называйте переменных по их типам
    4. Используйте единый стиль именования
    5. Используйте единый стиль деклараций
    6. Работайте на коллектив
  3. Комментарии
    1. Комментарии в переменных и константах должны описывать их содержимое, а не предназначение
    2. Всегда документируйте общедоступные символы
  4. Структура пакета
    1. Хороший пакет начинается с хорошего названия
    2. Избегайте названий вроде base, common или util
    3. Быстро возвращайтесь, не погружаясь вглубь
    4. Сделайте полезным нулевое значение
    5. Избегайте состояния уровня пакета
  5. Структура проекта
    1. Меньше пакетов, но более крупные
    2. Основной пакет минимально возможного размера
  6. Структура API
    1. Проектируйте API, которыми трудно злоупотребить по дизайну
    2. Проектируйте API для основного варианта использования
    3. Пусть функции определяют требуемое поведение
  7. Обработка ошибок
    1. Устраните необходимость обработки ошибок, убрав сами ошибки
    2. Обрабатывайте ошибку только единожды
  8. Параллелизм
    1. Постоянно выполняйте какую-то работу
    2. Оставьте параллелизм вызывающей стороне
    3. Никогда не запускайте горутину, не зная, когда она остановится

Лотерейные билеты (24.02.2019) #

Некоторое время назад попалась задачка, про лотерейные билеты (писал в ЖЖ):

Лотерейный билет имеет шестизначный номер. Билет является выигрышным, если сумма трёх каких-то его цифр равна сумме трёх остальных. Мальчик купил два лотерейных билета с подряд идущими номерами. Они оба оказались выигрышными.
На какую цифру оканчивались каждый из этих номеров?

Решил её без применения компьютера, но заинтересовало, насколько везучим оказался этот мальчик. В итоге, написал программку для нахождения всех таких пар счастливых билетов. Оказалось, что вероятность небольшая - 1,62%

Скачать программу и исходный текст (1 Мб)

Первые программы (12.09.2018) #

На днях выдалась возможность немного попрограммировать на Go. Нужно было сделать два простеньких web-сервера. Первый собирает из нескольких запросов (XMLHttpRequest) единое сообщение и, когда всё сообщение собрано, передаёт его второму, который вызывает локальную программу с параметрами из этого сообщения.

В общем, все очень просто, но какая-никакая практика, да ещё и получил большое удовольствие.

Рефакторинг программы на Go: ускорение в 23 раза (23.07.2018) #

С удовольствием прочитал статью про рефакторинг программы на Go, приведший в многократному ускорению. Написано очень здорово, всё разделено по шагам, предложенные улучшения просты и понятны.

Несколько недель назад я прочитал статью «Хороший код против плохого кода в Go», где автор шаг за шагом демонстрирует рефакторинг реального приложения, решающего реальные бизнес-задачи. Она сфокусирована на превращении «плохого кода» в «хороший код»: более идиоматичный, более понятный, полноценно использующий специфику языка Go. Но автор также заявлял о важности производительности рассматриваемого приложения. Во мне взыграло любопытство: давайте попробуем её ускорить!

https://habr.com/company/badoo/blog/415919/

Первая программа (14.12.2017) #

К сожалению, изучение нового языка идёт медленно - нет времени, да и никак не найду, где применить уже полученные знания. Что-то серьёзное пока страшновато пробовать, а простых идей нет.

В итоге, первой моей более менее самостоятельной программой на Go стал Тренажер таблицы умножения (тем более, что у ребёнка с её заучиванием как раз проблемы).

Скачать: программу (750 kb), исходные тексты (1,5 kb)

Комментарии

swi, www (09.12.2017)
а для рефала всегда найдется применение при обработке текстовых данных ;)
ЗЫ ... готов помочь в его изучении! ... пока жив ;)
Осталось только найти эти текстовые данные для обработки! :)
Тем более, что с ними также отлично справляется уже частично освоенный мною python (был недавно такой опыт).
ЗЫ Спасибо! Надеюсь, время у меня ещё есть! :)

Начал изучать Go (02.10.2017) #

Неожиданно образовавшееся свободное время решил потратить на самообразование - начал изучать язык программирования go. Для себя выбрал следующий порядок - сначала прочитал и сделал все упражнения по этому учебнику, потом прочитал все статьи из раздела "Для начинающих" (см. ссылки выше). Потом прошёл тур по Go с официального сайта (планирую пройти повторно для закрепления материала). Также начал читать книгу Марка Саммерфильда "Программирование на Go".

В общем, первоначальные базовые знания вроде получил. Теперь думаю, как бы применить их на практике.

Go празднует 10 лет (24.09.2017) #

Оказывается 20-25 сентября Go празднует свой день рождения, а в этом году ему исполнилось уже 10 лет. Конечно, следует учитывать, что пока 10 лет прошло с момента идеи о создании нового языка.

Официально язык был представлен в ноябре 2009 года, а Go 1 вообще вышел только 28 марта 2012 года.

  Вы 5348 посетитель этой странички
с 29 апреля 2017 года
© http://svv-home.ru
О сайте