Python Django Developer в Индивидуальное предпринимательство / частная практика / фриланс · 12.09
От 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 и надеюсь, что оно будет все более интересным с каждым шагом.
еще контент автора
еще контент автора
Python Django Developer в Индивидуальное предпринимательство / частная практика / фриланс · 12.09
войдите, чтобы увидеть
и подписаться на интересных профи