🐁 Arutrancetro
тут про for цикл
🐁 Arutrancetro
он копию создает
🐁 Arutrancetro
т.е. значение можно перезаписывать и основному массиву ничего не будет
Васильев Виктор
А ты про это - да. Но на сколько я помню это на стеке создается. Ноя могу ошибаться
🐁 Arutrancetro
а нельзя сделать, чтобы он не копировал?
Мерль
а нельзя сделать, чтобы он не копировал?
Он и не копирует, пока ты туда что-нибудь не запишешь
Мерль
И вообще, сначала бенчмарки, потом оптимизации
Васильев Виктор
Ну если тебе не нужна копия элемента то почему бы не брать по индексу?
Васильев Виктор
Тем более как правильно сказали выше, рано говорить об оптимизациях. никогда не было это проблемой или узким местом
🐁 Arutrancetro
о, прикольно, можно функции передавать в функции, наверное еще и лямбда выражения есть
Дмитро
Вопрос. Когде юзаешь dep папочку vendor на репу заливать или нет?
Danila
Как можно в go задать отдельно тип для каждого элемента map?
🐁 Arutrancetro
во, прикольно, лямбды есть )
🐁 Arutrancetro
как в JavaScript вернее функции высшего порядка
Ευγένιος
как в JavaScript вернее функции высшего порядка
Лямбды в Жс с каких пор стали функциями высшего порядка?
🐁 Arutrancetro
ну спутал)
Ευγένιος
Бывает.
Васильев Виктор
Как можно в go задать отдельно тип для каждого элемента map?
Как-то никак. Можешь использовать интерфейсы
🐁 Arutrancetro
ну в общем хорошо что можно с функциями так играться
🐁 Arutrancetro
даже функции возвращать можно )))
Danila
Как-то никак. Можешь использовать интерфейсы
cannot use info["website"] (type interface {}) as type Website in argument to BuildUwsgi: need type assertion
Васильев Виктор
так сконвертируй
Danila
if strings.Contains(backend, "uwsgi"){ BuildUwsgi(info["website"], backend) }
Васильев Виктор
info["website"].(Website)
Danila
Спасибо
Васильев Виктор
Тебе даже го в сообщении об этом говорит
Ευγένιος
даже функции возвращать можно )))
Слух, а чо тут крутого? Легче сосчитать языки которые не могу принимать и возвращать функции и не имеют лямбд чем обратные.
Ευγένιος
Все языки после Си умеют такое. А лимбы и того раньше.
Васильев Виктор
Тем что тут это приятно :D
Ευγένιος
Так он с ЖСом сравнивает, там вообще легко и просто.
Ευγένιος
Хз хз.
Дмитро
спасибо
Васильев Виктор
Просто в текущими блокировками или возможными подменами кода да и компиляция все дела
Васильев Виктор
короче приятнее иметь все свое рядом и удобно
🐁 Arutrancetro
чет не получается вернуть два параметра
🐁 Arutrancetro
я их в скобках возвращал
🐁 Arutrancetro
спасибо))
Anton
Мерль
Вопрос. Когде юзаешь dep папочку vendor на репу заливать или нет?
лучще заливать, иначе пользователи забодаются делать ensure
🐁 Arutrancetro
а есть какой-то стандартный тип для возврата ошибок?
🐁 Arutrancetro
чтобы свой не объявлять
🐁 Arutrancetro
ну это понятно, а тип?
🐁 Arutrancetro
т.е. структура
Cat
зависит от того, какого типа ошибку ты хочешь вернуть
Vasily
fmt.Errorf(...) errors.New(...)
🐁 Arutrancetro
во, спс)
Мерль
во, спс)
но это не очень хорошо
Мерль
очень желательно делать кастомные ошибки
🐁 Arutrancetro
ну когда не надо ничего в ошибку класть
🐁 Arutrancetro
то норм
Cat
ну когда не надо ничего в ошибку класть
если не надо ничего класть, то nil
🐁 Arutrancetro
кроме строки =)
Васильев Виктор
кроме строки =)
Лучше делать кастомки для того чтобы можнобыло определять что за ошибка прозошла. Однострочные можно делать если ошибка больше нигде и никогда не повторится иинформация в ней чисто информативная и пользы для кода больше не несет
🐁 Arutrancetro
ну да =)
🐁 Arutrancetro
а можете напомнить как закастить к определенному инерфейсу переменную?
Васильев Виктор
мммм
Васильев Виктор
что ты имеешь ввиду?
🐁 Arutrancetro
ну привести к определенному типу
Васильев Виктор
Если у типа есть метод определенный в интерфейсе то все. Он уже соответствует
🐁 Arutrancetro
и если не привелась , то ошибку обработать
Васильев Виктор
приведи пример пожалуйста
🐁 Arutrancetro
ну мне надо методы вызвать )
🐁 Arutrancetro
методы то скрыты
Васильев Виктор
ты имеешь ввиду типа if value, ok := string(a)
Васильев Виктор
типа того?
🐁 Arutrancetro
ну да
🐁 Arutrancetro
спс =)
Васильев Виктор
Обращайся :)
🐁 Arutrancetro
if value, ok := error(err) { fmt.Println(value.Error()) }
🐁 Arutrancetro
чет не пашет)
Васильев Виктор
ммм
Васильев Виктор
а зачем ты так делаешь
Васильев Виктор
Очень странный код
🐁 Arutrancetro
да просто для прикола