Golang вопросы собеседований
14.1K subscribers
697 photos
7 videos
1 file
492 links
@notxxx1 - админ

@Golang_google - Golang для разработчиков

@itchannels_telegram - 🔥лучшие из ит

@golangl - chat

@golangtests - golang tests

@golang_jobsgo - go chat jobs

@ai_machinelearning_big_data - AI

@data_analysis_ml

РКН: clck.ru/3FmtKd
Download Telegram
Эволюция гофера 🐹

@golang_interview
😁37🔥8🥰3🤣3
Команда Ozon Tech готовит мощнейший трек по бэкенду в рамках своей конференции E-CODE 💙

И это только одна из причин, почему стоит быть там 13-14 сентября. А ещё: качественный нетворк, 1х1 с топовыми IT-экспертами и HR, эксклюзивный мерч и интерактивы, вечеринки с участием НТР, Заточки, ILWT и Нейромонаха Феофана.

Успейте зарегистрироваться. Это обязательно
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱7👍1
🧪 Миф о стеке и куче в Go

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

Стек горутин выделяется средой выполнения из памяти, управляемой кучей, поэтому он может находиться как выше, так и ниже адресов переменных кучи. Более того, стек горутин способен динамически перемещаться и увеличиваться по мере роста программы, что полностью разрушает иллюзию фиксированного расположения
👍152🔥2
🚀 Zig показывает мощь метапрограммирования на компайм-тайме

Смотрите, как можно вызвать разные методы у разных структур, используя одно универсальное определение функции:


const std = @import("std");

const T = struct {
fn name() []const u8 {
return "foo";
}

fn foo() void {
std.debug.print("T.foo\n", .{});
}
};

const S = struct {
fn name() []const u8 {
return "bar";
}

fn bar() void {
std.debug.print("S.bar\n", .{});
}
};

fn f(Type: type) void {
@field(Type, Type.name())();
}

pub fn main() !void {
f(T); // <=> T.foo()
f(S); // <=> S.bar()
}
4❤‍🔥2🔥1