Зомби-процесс — это
По сути, это механизм ОС для передачи информации о
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3
1. Чем
io.Reader
и io.Writer
. type Stringer interface {
String() string
}
2.
Это удобно и для тестов, и для читаемости. Функция, которая что-то использует, пусть
func Process(r io.Reader) error { ... } // принимаем интерфейс
func NewBuffer() *bytes.Buffer { ... } // возвращаем структуру
3. Не создавать интерфейсы
4.
error
, fmt.Stringer
, context.Context
.5.
interface{}
. Это, по сути, Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Индексация с нуля исторически связана с тем, как данные
Массив — это
Кроме того, нулевая индексация упрощает работу с
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Пакет flag предназначен для
Это упрощает создание CLI-приложений и обработку
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚1
Для создания строкового флага используется функция
Пример:
var name = flag.String("name", "Guest", "User name")
flag.Parse()
fmt.Println("Hello,", *name)
Please open Telegram to view this post
VIEW IN TELEGRAM
👾1
Оцените их по шкале 🔥,❤️,👍,😢, 🥱,
где 🔥 — это супер, а 🥱 — это скучно.
Также приветствуется фидбек в комментах.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21🤔3👍2🥱2
flag.StringVar
от flag.String
1. flag.StringVar
Принимает указатель на
Сигнатура:
func StringVar(p *string, name string, value string, usage string)
Позволяет явно контролировать, в какую переменную попадёт
Обычно используется, когда переменная
2. flag.String
Создаёт новую
Сигнатура:
func String(name string, value string, usage string) *string
Возвращает указатель на
Удобно, когда нужно быстро
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Булевый флаг создаётся через
verbose := flag.Bool("v", false, "Enable verbose mode")
flag.Parse()
if *verbose {
fmt.Println("Verbose logging enabled")
}
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👾1
⏳ Время прокачать алгоритмы с 40-процентной скидкой до конца октября
На собеседовании не просят бездумно написать шаблонное решение. Важно понимать, как работают алгоритмы под капотом.
🔹 В курсе ты научишься:
— искать ошибки с помощью редакционного расстояния;
— работать с балансированными деревьями и графами;
— решать задачи с динамическим программированием;
— и многое другое, что пригодится на собеседованиях.
🤔 Решаешь задачи только в тг каналах? Пройди курс и отправляйся на реальные собеседования!
🔗 Подробнее о курсе
На собеседовании не просят бездумно написать шаблонное решение. Важно понимать, как работают алгоритмы под капотом.
🔹 В курсе ты научишься:
— искать ошибки с помощью редакционного расстояния;
— работать с балансированными деревьями и графами;
— решать задачи с динамическим программированием;
— и многое другое, что пригодится на собеседованиях.
🤔 Решаешь задачи только в тг каналах? Пройди курс и отправляйся на реальные собеседования!
🔗 Подробнее о курсе
🤔1
M:N scheduling в Go — это
В Go реализована модель M:N с использованием трех основных сущностей:
• G (Goroutine) — легковесная пользовательская горутина с собственным стеком и контекстом исполнения.
• M (Machine) — системный
• P (Processor) — логический
Количество P по умолчанию равно числу логических
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👾1
flag.Parse() разбирает аргументы
Последующие вызовы
Если нужно повторно разобрать аргументы, например, для тестов, придётся
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3