heavycharged
Знаю, что в продуктах JetBrains есть такая штука, но вот конкретно в Goland почему-то не могу её найти.
heavycharged
удобно
Васильев Виктор
Так обычно интерфейс маленький и обычно он нужен заранее...в го мало смысла го мало смысла в этом. Разве что ты рефакторишь большой проект
heavycharged
да, про наоборот я знаю
heavycharged
в других продуктах есть в сторону class -> interface
Anonymous
народ допустим есть у меня массив var cakes []*Cake он занимает определенное кол-во памяти как этот массив уничтожить если он мне уже не нужен?
Anonymous
можт присвоить ему nil ?
Мерль
когда нибудь потенциально память деаллоцируется
Anonymous
а если не присваивать nil, то че? допустим есть цикл for { keksiki := GetCakes() }
Васильев Виктор
Суть в том что в этом примере keksiki существуют только пока существует итерация цикла. Когда иттерация заканчивается на этот кусочек памяти больше нчиего не указывает и потом сборщик заберет эту переменную
Васильев Виктор
Есть такая штука ка кобласть видимости. И ЛОКАЛЬНЫЕ переменные живут только в свое области видимости
Васильев Виктор
Если ты создал обычный объект и не отдал ссылку на него во вне то он забудется
Мерль
да, тут надо упомянуть что Gо очень агрессивно размещает данные на стеке, поэтому очень часто значение даже не уезжает в кучу
Мерль
и уничтожается сразу при завершении функции
Nikita
да, тут надо упомянуть что Gо очень агрессивно размещает данные на стеке, поэтому очень часто значение даже не уезжает в кучу
Да, это связано с тем, как устроен гц в го. В жабе и дотнете гц основан на поколениях и всякие локальные переменные собираются в первом поколении, в го же compiler uses escape analysis to find objects whose lifetime is known at compile time, and allocates them on the stack rather than in garbage collected memory.
Васильев Виктор
Такие дела)
Pawel
хотя можно сделать мегабайт
Nurzhan
в го
ainu
да, он его пытается увеличить
ainu
можно отменить вообще "стек", функция станет быстрее, для этого надо скомпилировать в go ассемблер и убрать там команды GC
Маjко
можно отменить вообще "стек", функция станет быстрее, для этого надо скомпилировать в go ассемблер и убрать там команды GC
Зачем так сложно, можно просто писать на другом языке где асинхронность писать сравнительно не больно, например на расте
Маjко
прям стало интересно, как скоро тебя кикнут)
Я пишу не часто и обычно в тему, пока не кикнули)
ainu
типа 2+2
ainu
читай "чистые"
ainu
лез в го ассемблер с асинхронной функцией можно конечно но блин чревато
Маjко
А где там можно умудлиться пробить стек?
Anton
А где там можно умудлиться пробить стек?
Я-то думал, почему ты в расточате над всеми ржешь. А ты оказывается ГОпник
Маjко
Я про обычные функции, не асинхронные
Ну и эт, го как бы, кхм, не для raw power скоростного байто***, у него другие задачи. Для этого есть раст, сишка, и, в конце концов, асм. Цепляй такую функцию через FFI и живи в радость
Alexandr
Коллеги, не подскажите, как в го будет лучше гарантировать набор полей получаемой в аргументах структуры? Итерфейс с набором геттеров и сеттеров?
Andrew
А, нет. Популяризатор раста :)
А ты тут что делаешь, ты ж вроде свифтер?)
Anton
А ты тут что делаешь, ты ж вроде свифтер?)
И вам здравствуйте. В мире не один Свифт учат :D
Anton
Ясно, понятно)
И ты снова вышел из iOS developers...
Andrew
И ты снова вышел из iOS developers...
Да там хрень творится, ну нафиг)) вот уберешь когда оттуда всякий сброд, приду
Anton
Да там хрень творится, ну нафиг)) вот уберешь когда оттуда всякий сброд, приду
Чат вооьще как-то развился сам, но и упал так же. В день сообщений 300 максимум. Хотя участников 1700+ и прирост хороший. Вот не знаю в чем дело
Andrew
Чат вооьще как-то развился сам, но и упал так же. В день сообщений 300 максимум. Хотя участников 1700+ и прирост хороший. Вот не знаю в чем дело
Хз, может, потому что когда кто-либо задают вопрос, а-ля как управляется память, тут отвечают по делу, а там, сначала, вспомнят Фрейда?
Cat
привет, чё тут у вас?
Alexandr
Т.е. функция ожидает не конкретный тип?
да, функция должна работать с разными типами , которые имеют одинаковые поля нужные для этой функции
Nurzhan
Типа базовую часть выделить и потом встраивать в другие структуры
Alexandr
ждать тип, который и встраивать его в нужные?
Alexandr
Что-то со встраиваением не подходит?
спасибо! хороший вариант, сейчас обдумаю
Nurzhan
спасибо! хороший вариант, сейчас обдумаю
просто не сильно нравится идея с кучей геттеров и сеттеров в данном случае, но зачастую наверное лучше ожидать интерфейс
Alexandr
хотя может и придется вернуться к этой идеи
Nurzhan
пока можно со встраиваением, чтобы долго не задерживаться, а потом видно будет :)
Pawel
Так он же динамический вроде
не-а, не динамический. И этим стек принципиально отличается от кучи
Мерль
Так, за переход на личности расстреляю на месте с поражением в правах
Anonymous
как конвертировать string в uint32?
Илья
Strconv
Anonymous
strconv
Там нет инфы
Anonymous
Ilia
parseuint то на что?