От 0 до Google. День 1

Первый день полного погружения в Golang прошел весьма продуктивно. Получилось сделать даже больше, чем было изначально запланировано. И получилось даже отразить это на практике.

Начал я свое повторение с сайта Metanit, где первым делом взялся просматривать базовые структуры, типы данных и все прочее, о чем знает каждый, кто имел хотя бы небольшой опыт в программировании. Изучив условные выражения и конструкции, массивы, циклы, функции, я решил для себя, что пора приступить к практике и клепануть что-то для закрепления материала.

Весь код хранится здесь - https://github.com/felix-basinger/From-0-to-Google/tree/main

Первой программой стал самый простой и самый банальный измеритель водного баланса. Все до идиотизма просто как в плане работы программы, так и в плане её построения. Вводишь свой вес и сколько воды пьешь в день. Если пьешь мало - скажет и покажет сколько надо. То же самое, если пьешь много. Если пьешь сколько надо - молодец. В плане построения программы: чтение ввода с консоли и работа с условными выражениями. Вот и всё.

Ссылка на код программы - https://github.com/felix-basinger/From-0-to-Google/blob/main/goPrograms/waterBalance.go

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

В данном случае сложность алгоритма О(log n), поэтому программа довольно быстро находит нужный элемент. Для поиска нужного элемента в списке из 4.000.000.000 элементов ей понадобится всего максимум 32 попытки! Так что можно тестировать и наслаждаться😹

Ссылка на код программы - https://github.com/felix-basinger/From-0-to-Google/blob/main/goPrograms/guessTheNumber.go

Весь код я выложил в свой Github, и для программы с алгоритмом расписал пояснения в коде, чтоб все было предельно понятно. Лично моё мнение - проработка базовых структур и алгоритмов вместе это хороший бэкграунд, который дает вам небольшое преимущество. Конечно же в работе, чаще всего, из всех видов сортировок вы выберете sort(), но алгоритмический блок на собесах никто не отменял😅

В общем продолжаю более глубокое погружение с практикой в Golang и надеюсь, что оно будет все более интересным с каждым шагом.

От 0 до Google. День 1 | Сетка — новая социальная сеть от hh.ru
repost

54

input message

напишите коммент

еще контент автора

еще контент автора

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь