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

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


@viktorreh
@anothertechrock

Чат: https://t.iss.one/+UA9kQbQdpFxmZGY6
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
⭐️ Две структуры с одинаковыми полями могут иметь разный размер.

Это явление известно как "padding", понятие, заимствованное из языка C++, но применимое и в Go.

Рассмотрим приведенный выше пример.

Структуры A и B имеют совершенно одинаковые поля, но если просто переставить порядок полей, то структура A станет в два раза больше.

Она увеличивается до 32 байт, в то время как структура B остается меньше - 16 байт.
👍6
Вакансии для Golang-разработчиков за последние 14 дней:


Golang Developer. Удалёнка, 100–140 т.р.

Golang Developer. Удалёнка, 1700–2300 $

Go Developer. Удалёнка, 150–175 т.р.

Golang Developer. Гибрид

Golang Разработчик. Офис/гибрид/удалёнка (Москва, Краснодар, Иннополис)

Go Developer. Удалёнка

Python Go разработчик. Гибрид/офис (Москва)

Golang Developer. Удалёнка/офис (Лиссабон, Португалия), 4000–6000 $

Golang Developer. Удалёнка, 4000–7000 $


#подборка #go
This media is not supported in your browser
VIEW IN TELEGRAM
👣 Roboden-game

Создать RTS, которая бы хорошо работала в браузере с помощью #golang, сложная задача, но возможная.

Игра написана с использованием движка Ebitengine и даже доступна в Steam.

Github
Проект

#ebitengine #gamedev #golang
3👍2
Пишем первую программу на Go 🚀 Для самых начинающих.

Привет, будущие гоперы! 👋 Давайте отбросим страхи и напишем вашу первую программу на языке Go. Это проще, чем кажется!

Шаг 1: Готовим рабочее место

- Мы уже установили Go и редактор кода (например, VS Code). Открываем редактор и создаем новую папку для нашего проекта.
- Внутри папки жмем на «плюсик» и создаем файл. Но не простой, а с кодом на Go!

Шаг 2: Создаем правильный файл


- Файлы с кодом на Go имеют расширение .go
- Есть важное правило: главный файл программы, с которого всё начинается, принято называть main.go.
- Создаем файл main.go. Теперь мы готовы писать код!

В следующем посте перейдем к самому интересному — написанию кода!

#Go #Программирование #ДляНачинающих #УрокGo #Часть1

@golangprofi
Please open Telegram to view this post
VIEW IN TELEGRAM
5🥰3💩2
Первая программа на Go: разбираем код по косточкам 🦴

В нашем файле main.go нужно написать несколько строчек. Не пугайтесь незнакомых слов, сейчас всё объясню!

package main

import "fmt"

func main() {
fmt.Println("Hello, World!")
}


Давайте разберем, что тут происходит:

- package main — объявляем «главный пакет».
- import "fmt" — берем полезный ящик с инструментами под названием fmt. Он нужен, чтобы выводить текст на экран.
- func main() — объявляем главную функцию. Программа всегда начинает свою работу именно отсюда.
- {} — внутри этих фигурных скобок живет код, который будет выполняться.

⬇️ Самое главное:

fmt.Println(...) — это команда из нашего ящика fmt, которая печатает текст и переходит на новую строку.
Текст, который мы хотим вывести, пишем в кавычках "..."

В следующем посте мы ЗАПУСТИМ эту программу и увидим легендарный «Hello, World!»

#Go #Программирование #ДляНачинающих #УрокGo #Часть2

@golangprofi
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👀1
Запускаем первую программу на Go! Терминал и магия команды «go run»

Код написан, теперь нужно его выполнить. Редактор кода — это умный блокнот, но запускать программы он не умеет. Для этого нам нужен терминал и установленный Go!

Шаг 1: Открываем терминал в редакторе

Откроем сверху вкладку View ➡️ Terminal

Шаг 2: Волшебная команда

Убедитесь, что вы в папке с вашим main.go. Можно в терминале написать ls (на MacOS) или dir (на Windows), и нажать Enter, чтобы увидеть список файлов.

Вводим команду:
go run main.go

И нажимаем Enter

Что это значит?

- go — обращаемся к компилятору Go.
- run — просим его запустить файл.
- main.go — указываем, какой именно файл запускать.

Результат:
Если вы всё сделали правильно, в терминале вы увидите заветную надпись:
Hello, World!

Поздравляю! 🎉 Вы только что написали и запустили свою первую программу на Go! Это огромный шаг.

#Go #Программирование #ДляНачинающих #УрокGo #Часть3

@golangprofi
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍4😁2
Переменные в программировании — это проще, чем кажется! 🧠 На примере Flappy Bird

Представьте, что вы играете в Flappy Bird. Вверху экрана есть счётчик, который увеличивается с каждой пролетевшей трубой. Как игра "помнит", сколько очков вы набрали? 🤔

Всё просто: она использует переменную!

Переменная — это специальная ячейка в оперативной памяти компьютера, где программа хранит какие-то данные. В случае со счётом в Flappy Bird — это число.


- Название (например, score) — это уникальное имя, по которому программа находит нужную ячейку в памяти.
- Значение (например, 0, 5, 15) — это сами данные, которые хранятся в этой ячейке.
- Тип данных — определяет, что именно мы храним (число, текст и т.д.).

Как это выглядит в коде на Go?
score := 0 // Создали переменную "score" и положили в неё 0


Аналогия:
Переменная — это как коробка с подписью. Вы кладёте в неё значение (например, число 5), и потом, когда оно вам понадобится, вы просто смотрите в коробку с подписью score и достаёте оттуда 5.

#Go #ДляНачинающих #Переменные

@golangprofi
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Вакансии для Golang-разработчиков за последние 14 дней:

Golang Developer. Удалёнка, 100–140 т.р.

Golang Разработчик. Удалёнка, 1 000 ₽/ч

Системный аналитик. Удалёнка, 120 т.р.

Golang Developer. Удалёнка, 75–125 т.р.

Backend Engineer. Гибрид (Варшава), 7 500 $

Go Developer. Удалёнка, 3000 USDT

Go Developer. Офис/гибрид/удалёнка (МСК)

Golang Developer. Удалёнка

Backend разработчик. Удалёнка

Fullstack Developer. Удалёнка

Go разработчик. Гибрид (Уфа)

Системный архитектор. Удалёнка, 250–300 т.р.

Backend разработчик. Гибрид (Астана), 600 000 KZT

Go Developer. Офис/гибрид/удалёнка (МСК)

Backend Разработчик. Офис (Алматы), 800 000 - 1 200 000 KZT

Golang Developer. Удалёнка, 4000–7000 $

Golang Developer. Удалёнка, 4800–5600 $

Senior/Middle+ Golang Developer (iGaming, Микросервисы). Удалёнка

#подборка #go
5
Так что же происходит "под капотом"! 👨‍💻

Мы выяснили, что переменная — это как ячейка памяти с именем

Представьте оперативную память как огромный шкаф с пронумерованными ящиками. Когда мы пишем:
score := 0


Мы делаем следующее:
1. Выделяем ящик в оперативной памяти
2. Даём ему имя score (вместо номера)
3. Кладём значение 0 внутрь

Как вывести значение переменной?

Точно так же, как мы выводили текст! Используем пакет fmt:
package main

import "fmt"

func main() {
score := 0 // Создали переменную
fmt.Println(score) // Вывели её значение!
}


Что происходит при выводе:

- Println видит, что мы передали не текст, а имя переменной score
- Он ищет в памяти ячейку с таким именем
- Достаёт оттуда значение (0)
- Выводит его на экран

Меняем значение — меняется вывод:
score := 20
fmt.Println(score) // Выведет 20!


Но есть важный нюанс! Пока мы просто редактируем файл в блокноте/редакторе — это просто текст. Магия начинается когда мы запускаем программу:
go run main.go


В этот момент:

- Программа загружается в оперативную память
- Компьютер выполняет код построчно
- Дойдя до score := 0, он создаёт реальную ячейку в памяти с именем score и значением 0

🚀 Всё оживает только при запуске программы командой go run, все тоже самое, как в посте выше

Теперь вы не просто пишете код — вы понимаете, как он работает на уровне памяти! Это основа для всех дальнейших тем в программировании.

В следующих постах разберём, какие бывают типы переменных и как с ними работать!

#Go #ДляНачинающих #Переменные

@golangprofi
Please open Telegram to view this post
VIEW IN TELEGRAM
2🤯1
Golang для начинающих: В чем разница между Print и Println? 💬

Теперь, когда база есть, давайте поэкспериментируем! В нашем ящике с инструментами fmt есть не только Println, но и Print

Чем они отличаются?

- Println — печатает текст и переводит курсор на новую строку. Следующий вывод будет с новой строки.
- Print — печатает текст и остается на той же строке. Следующий вывод продолжится вплотную.

Сравним на практике:

Код с Println:
fmt.Println("Hello")
fmt.Println("World")

Вывод:
Hello
World


Код с Print:
fmt.Print("Hello")
fmt.Print("World")

Вывод:
HelloWorld


Вывод: Используйте Println, когда вам нужен вывод с новой строки, и Print, когда нужно печатать всё в одну строку.

Экспериментируйте! Меняйте текст в кавычках и смотрите, что получается. Это лучший способ учиться! 💡

#Go #Программирование #ДляНачинающих #УрокGo #Часть4

@golangprofi
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2🤯1😴1
Чтобы не собирать вручную десятки однотипных команд для облачной CLI, мы в MWS Cloud Platform сделали генератор: он берёт OpenAPI-спеки и сам создаёт готовый инструмент для управления облаком.

В статье кратко:

— почему выбрали Go + Cobra и кодогенерацию;
— как из путей и методов рождаются mws <service> <component> <op>;
— профили, автообновление, удобный вывод;
— что получилось в итоге и зачем это бизнесу.

Читать статью
Не все переменные одинаковы! Изучаем основные типы данных в Go ⌨️

В прошлом посте мы узнали, что переменная — это коробка для значения. Но в разные коробки кладут разное!

Вот основные "виды коробок" (типы данных) в Go:

1. Целые числа (int)
Используются для подсчёта чего-либо (очки, количество лайков, деньги).
score := 10 // Целое число


2. Дробные числа (float64)
Нужны для точных вычислений (рейтинг, координаты, проценты).
temperature := 36.6 // Дробное число


3. Строки (string)
Хранят текст (имя пользователя, сообщение, название игры).
text := "Game Over" // Строка (обязательно в кавычках!)


4.Булевы значения (bool)
Самый простой тип! Может быть только true (правда) или false (ложь). Идеально для состояний: подписан/не подписан, включен/выключен.
isSubscribed := true // Булево значение


Важно: Go — язык со статической типизацией. Это значит, что если вы создали "коробку" для чисел, то вы не сможете потом положить в неё текст. Это помогает избежать ошибок и делает программы быстрее!

#Go #ТипыДанных #ДляНачинающих #Переменные

@golangprofi
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯1
🔍Тестовое собеседование с Go-разработчиком из Яндекса

11 декабря(уже в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Go-разработчика.

Как это будет:
📂 Владислав Кирпичов, Go-разработчик в Яндексе, ex-VK, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Влад будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Владу

Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Go-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.

Переходи в нашего бота, чтобы получить ссылку на эфир →
@shortcut_go_bot

Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Как сделать программу "умной"? Учимся использовать условия if и else в Go 😏

Любая интересная программа умеет принимать решения.

- Если пользователь набрал много очков — похвалить его.
- Если пароль неправильный — не пускать.
- Если время ночное — включить тёмную тему.

В программировании за эти "если" отвечает оператор if (с англ. "если").


Задача: В нашей игре, если игрок набрал больше 10 очков, сказать "Ты красавчик!", а иначе — "Тебе нужно ещё многому научиться" 🤓

Решение на Go:
score := 15

if score > 10 {
fmt.Println("Ты красавчик!") // Выполнится, если условие score > 10 — ПРАВДА
} else {
fmt.Println("Тебе нужно ещё многому научиться.") // Выполнится, если условие — ЛОЖЬ
}


Как это работает:
- Программа проверяет условие в скобках после if
- Если оно истинно (true) — выполняется код в первых фигурных скобках {}
- Если оно ложно (false) — выполняется код в фигурных скобках после else ("иначе")

Попробуйте поменять значение score на 5 и увидите, как изменится поведение программы!

Это и есть
ветвление
— основа логики любой программы.


#Go #ДляНачинающих #Переменные #Ветвление #Логика

@golangprofi
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓4👍21🤯1