Golang Юниор
4.87K subscribers
200 photos
6 videos
239 links
Канал для начинающих изучать язык программирования Go. Юниоры или Junior - Вперед.

Контент нашего канала состоит из:
- туториалы
- вопросы с собесов
- тесты на знания Go


@viktorreh
@anothertechrock

Чат: https://t.me/+UA9kQbQdpFxmZGY6
Download Telegram
Ответ на «Как в Go реализуется наследование?»

Это несколько каверзный вопрос: как такового наследования в Go нет, поскольку он не поддерживает классы.

Тем не менее поведение наследования можно сымитировать, задействовав композицию для определения начального поведения нового объекта на основе существующего объекта структуры. После создания нового объекта его функциональность можно будет расширить за рамки исходной структуры.

type Animal struct {
// …
}
func (a *Animal) Eat() { … }
func (a *Animal) Sleep() { … }
func (a *Animal) Run() { … }
type Dog struct {
Animal
// …
}

Структура Animal содержит функции Eat(), Sleep() и Run(). Эти функции вкладываются в дочернюю структуру Dog простым добавлением этой структуры в начало реализации Dog.


#собеседование
👍23🔥5💩4
👍6💩3
Какой будет результат выполнения кода?
Anonymous Quiz
54%
-5 +5
29%
+5 +5
17%
0 0
💩20👍11🔥7😁5👏3
Программа для перевода температуры из Цельсия в Фаренгейты на Go

Напишите программу для отображения таблиц конвертации температуры. Для построения таблиц будут использоваться символы равно (=) и вертикальные линии (|).

Полное условие и решение читайте - ТУТ
🤔9👍2💩2
Задача. Выведите все пермутации символов среза или строки.

Реализуйте функцию perm(), принимающую срез или строку и выводящую все возможные комбинации его (ее) символов.

Код с решением будет завтра.

#задача
👍12💩2
Ответ на «Выведите все пермутации символов среза или строки.»

package main
import "fmt"
// Perm вызвает f с каждой пермутацией a.
func Perm(a []rune, f func([]rune)) {
perm(a, f, 0)
}
// Пермутируем значения в индексе i на len(a)-1.
func perm(a []rune, f func([]rune), i int) {
if i > len(a) {
f(a)
return
}
perm(a, f, i+1)
for j := i + 1; j < len(a); j++ {
a[i], a[j] = a[j], a[i]
perm(a, f, i+1)
a[i], a[j] = a[j], a[i]
}
}
func main() {
Perm([]rune("abc"), func(a []rune) {
fmt.Println(string(a))
})
}

Мы используем типы rune для обработки и срезов, и строк. Runes являются кодовыми точками из Unicode, а значит могут парсить строки и срезы одинаково.

#задача
🤮10👍2🤔2👏1
🤔10😁2🕊1
Какой будет результат выполнения кода?
Anonymous Quiz
32%
runtime panic
32%
0
36%
compilation error
👎43💩12👍2🔥2🤮21
Интерфейсы в Go — как красиво выстрелить себе в ногу

Первый очерк из цикла приключений в мире сусликов.

С этой статьи начинается серия небольших рассказов о необычных подводных камнях, которые можно встретить в начале разработки на Go. В статьях будут примеры кода, будьте с ними аккуратнее - не все из них будут компилироваться и работать, читайте внимательно комментарии, везде будет указано, на какой строке происходит ошибка. Также в блоках кода везде табуляция заменена на пробелы - это сделано намеренно, чтобы статьи выглядели у всех одинаково.

Подробнее
👍13🤮51💩1
Добро пожаловать в мир продвинутого Golang программирования @Golang_google

В канале вы найдете :
📃Статьи
📚Книги
👨‍💻 Код
🔗Ссылки
🗯 Чат разработчиков
🛠Вакансии GO
и много другой полезной информации

#Golang #Coding
#Books #Pro


Канал, который заменит вам платные курсы и учебники подписывайтесь: 👇👇👇

🦫 @Golang_google
👍7🔥1🤔1
Вопрос с собеседования. Как в Go реализованы конструкции циклов?

Ответ завтра.

#собеседование
🤮11🔥3
Ответ на «Как в Go реализованы конструкции циклов?»

В Go есть только одна конструкция цикла: цикл for. В нем используются три компонента, разделенные точкой с запятой.

Инструкция Init, которая выполняется до начала цикла. Как правило, здесь объявляется переменная, видимая только внутри области цикла for.
Выражение условия, которое перед каждой итерацией вычисляется в логическое значение, определяя, должен ли цикл продолжаться.
Инструкция post, выполняемая в конце каждой итерации.

#собеседование
👎11👍7🔥6💩2
Друзья, мы разыскиваем контент-менеджера для нашего канала. Те, кто давно работает с GO, имеет опыт разработки и желание добавлять контент - напишите @aldrson.

Понятное дело, что не бесплатно:)
Работа со строками в Golang

После изучения данной статьи вы сможете:

1. Получить доступ к отдельным буквам, а также манипулировать ими;
2. Зашифровать и расшифровать сообщение;
3. Написать программу для людей, что говорят на разных языках.

Читать статью далее
👍1👎1
🏃 Пишем мессенджер на Go за час: 7 простых шагов от эхо-сервера к асинхронному обмену сообщениями

Авторы большинства статей по сокетным соединениям в примерах ограничиваются реализацией эхо-сервера. Давайте разовьем эту тему и за 7 простых шагов сделаем вместе консольный мессенджер сообщений.

Чат: https://t.me/+UA9kQbQdpFxmZGY6

Подробнее
🤮4🔥2
Какой будет результат выполнения кода?
Anonymous Quiz
22%
2
51%
1005
27%
Ошибка компиляции
👍4
🤮23👍8
🔥 Шпаргалка по структурам данных в Go

Некоторые компании проводят собеседования с online написанием кода. Требуется решить олимпиадную задачку на скорость. В таких условиях нет времени посмотреть подробности реализации структур данных — нужно сразу реализовать идею.

Но курсы по алгоритмам и структурам данных дают примеры или на псевдокоде, или на С++. Ещё эталонные решения задач написаны зачастую на С++. Готовясь к собеседованию, составил шпаргалку библиотек — аналогов контейнеров STL, что бы не тратить драгоценное время на поиск.

Чат: @golang_talks

Подробнее: https://m.habr.com/ru/post/456194/
💩10👍6🔥1
Вопрос с собеседования. Какую форму преобразования типов поддерживает Go? Преобразуйте целое число в число с плавающей запятой.

Ответ завтра.

#собеседование
Ответ на «Какую форму преобразования типов поддерживает Go? Преобразуйте целое число в число с плавающей запятой.»

Go поддерживает явные преобразования типов, соответствуя требованиям строгой типизации.

i := 55      //int

j := 67.8 //float64

sum := i + int(j) //j преобразуется в int

#собеседование
👍16💩10