@gogolang

Страница 1206 из 1630
Pawel
03.07.2018
12:13:11
вот этот плачь Ярославны про ужасы проверок if err != nil в исполнеии юзера @a_alexei_0 я слышу регулярно от начинающих в Го оладухов с низким левелем. Заканчивается всё одинаково. Оладух начинает пропускать ошибки, рано или поздно ревьюер и checkerr его не одёрнут, в проде код ломается, оладух получает пиздюлей и осознаёт что способ обработки ошибок в голанге не таку ж и плох, плач прекращается

Google
Vladimir
03.07.2018
12:30:22
func foo() (res []byte, error) { <...> if err != nil { return nil, err } ... }чо тут сложного?

Алексей
03.07.2018
12:31:26
в каком месте?
val, err := something() if er != nil { return nil, err } vs val, _ := something()

Vladimir
03.07.2018
12:31:42
ужас та какой

Алексей
03.07.2018
12:31:53
не сложно вообще

но код раздувается

появляется код, который вообще не несёт смысловой нагрузки

Причём самое интересное то, что пожалуй Go - единственный из популярных языков в котором работа с ошибками столь топорно сделана.

Никита
03.07.2018
12:40:02
Чем она плоха?

Я вот вообще не понимаю что вам не нравится в обработке ошибок в Го

Google
Aleksei
03.07.2018
12:41:06
когда ж надоест-то про обработку ошибок одно и то же обсуждать? у того, кого не устраивает обработка ошибок в го, есть три пути - 1) в команду девелоперов го и там всё менять, 2) понять, простить, использовать 3) выкинуть и забыть как страшный сон. четвертый путь - нытье в чатике - наиболее бессмысленный.

Алексей
03.07.2018
12:41:33
Alexander
03.07.2018
12:47:32
точнее даже так: для того, чтобы вернуть ошибку из функции неужно сделать больше телодвижений, чем просто заглушить ошибку
> точнее даже так: для того, чтобы вернуть ошибку из функции неужно сделать больше телодвижений, чем просто заглушить ошибку Нет не правда. Чтобы вернуть ошибку из функции надо не так уж много

Это все через стек вызовов передается, если я ничего не путаю. А это не сильно напряжно.

Алексей
03.07.2018
12:50:29
причём тут стек, я вообще не про это сейчас, я про сам код на Go и я не писал, что вернуть ошибку из функции как-то очень сложно, я писал про то, что проще заглушить и не вернуть, чем вернуть, и кода меньше будет

Alexander
03.07.2018
12:50:44
В общем, как и со всеми языками. Кто умеет программировать - пользуется, Остальные ноют по сторонам.

Алексей
03.07.2018
12:51:37
В общем, как и со всеми языками. Кто умеет программировать - пользуется, Остальные ноют по сторонам.
Опять не в тему сообщение вообще. Тут уметь/не уметь вообще не причём. Совершенно.

Alexander
03.07.2018
12:52:34
такое чувство, словно сегодня все же пятница...

Александр
03.07.2018
12:53:51
https://play.golang.org/p/6Ovq6C2O6Wo

как вам такое дерьмо?

?

Pawel
03.07.2018
12:54:00
но вот опять же в логгер ошибки летят обычно на самой вершине стека, а значит надо руками пробрасывать их наверх
это ещё зачем? если обработка ошибки сводится к тому чтобы её залоггировать, это делается на месте без пробрасывания на верх

Но ты прав в одном - в go пропустить ошибки легче лёгкого.
в го пропустить ошибки можно только по злому умыслу. Это надо постараться чтобы одновременно обмануть сперва checkerr потом ещё и ревьюера.

Alexander
03.07.2018
12:55:23
как вам такое дерьмо?
нормальный говнокод, как у всех :)

парни, о чем вы спорите?

Евгений
03.07.2018
12:57:00
Так есть же несколько костыльно-человеческих реализаций через iota , кодогенерацию и пр

Alexander
03.07.2018
12:58:10
давайте лучше готовиться к пятничным баталиям про голубого сурка! Патриотично это или нет? Как вобще можно писать на таком языке, попирающем скрепы казацкой и КГБ-шной жизни?

Алексей
03.07.2018
12:59:03
это ещё зачем? если обработка ошибки сводится к тому чтобы её залоггировать, это делается на месте без пробрасывания на верх
Всё таки было бы здорово узнать в какой компании ты работаешь, чтобы никогда-никогда туда не попадать.

Я сейчас серьёзно спрашиваю.

Jentry
03.07.2018
12:59:45
Плюсую

Google
Alexander
03.07.2018
12:59:56
посреди флуда серьезно спрашивать бесполезно

Вячеслав
03.07.2018
13:04:23
Можно ли в t.Execute передать вторым параметров не структуру а просто key:value? t, _ := template.ParseFiles(tempDir+"adminka/index.html") t.Execute(w, &page{Title: "adminka", Msg: "test2"})

если у мнея много страниц с разными полями - надо для каждой структуру делать со своим набором ключей получается?

Alexander
03.07.2018
13:05:54
структуру передать нельзя, только указатель. Тернарного условного оператора тоже нет

Вячеслав
03.07.2018
13:07:13
тоесть вместо указателя можно сразу написать {"title": 'ffff'j, "Msg": "fff"} вот так как нибуь можно?

Alexander
03.07.2018
13:07:58
ты пробовал так написать?

Pawel
03.07.2018
13:08:08
Всё таки было бы здорово узнать в какой компании ты работаешь, чтобы никогда-никогда туда не попадать.
ты каждый раз приходишь сюда чтобы обсасывать одни и те же глупые и ни кому не интересные темы. При чём делаешь это настолько занудно и уныло, что я бы на месте админов давно забанил тебя нафиг

Вячеслав
03.07.2018
13:10:02
ты пробовал так написать?
t.Execute(w, {Title: "adminka", Msg: "test2"}) syntax error: missing operand

Aleksandr
03.07.2018
13:11:16
наблюдаю за этим уже 3 часа. на сутки зарестриктил троих.

Zaur
03.07.2018
13:12:42
Так все таки нужны дженерики или нет?

Как думаете

Aleksandr
03.07.2018
13:14:15
как мы думаем, уже высказались сотню раз. имеет смысл практические задачи решать, а не мусолить одну и ту же аргументацию

Zaur
03.07.2018
13:14:52
Дуров офигеет от активности голанг сообщества

Илья
03.07.2018
13:16:48
а в шаблоне {{range .}}

Nazary
03.07.2018
13:17:46
Это наверное лучшая левая конфа которая у меня есть) ❤

Google
Вячеслав
03.07.2018
13:18:59
а в шаблоне {{range .}}
в шаблоне я бы хотел оставить как есть {{ .Title }} такео возможно?

Admin
ERROR: S client not available

Илья
03.07.2018
13:19:05
нет

Вячеслав
03.07.2018
13:19:59
а можно плз пример с map[string]interface{} ?

Илья
03.07.2018
13:33:22
фу блин, как люди только этим пользуются :(

Вячеслав
03.07.2018
13:37:32
оо получилось спс!

Илья
03.07.2018
13:52:22
в шаблоне я бы хотел оставить как есть {{ .Title }} такео возможно?
и я не прав, можно оставить. https://play.golang.org/p/uHJqU3odyIK

Вячеслав
03.07.2018
13:55:27
пасиб! а посоветуйте плз как сделать чтобы шаблон мог включать другой шаблон в себя {{ template: "base"}} где то советуют фрейморки какието использовать где то еще чтото...

Илья
03.07.2018
13:56:40
это вам в гугл, я не пользуюсь template, кроме как в конфигах

Вячеслав
03.07.2018
14:25:42
https://play.golang.org/p/xIk0ACyZZmu как только в шаблон добавляю {{define "header"}} {{end}} то ошибка...

The
03.07.2018
14:27:43
1. парсишь все файлы 2. в шаблоне {{define "header"}} ...... {{ end }} 3. в основном шаблоне {{ template "header" . }}

кто что юзает для рисования диаграм, в т.ч. concurrency?

нужно как-то структурировать многопоточность на листе, чтобы было удобней понимать работу

GoodMoodDealler
03.07.2018
15:51:19
В чем может быть проблема?

The
03.07.2018
15:51:31
Pprof web ui встроен
это уже когда код написан. мне проектировать надо

Fastumkruk ✅
03.07.2018
16:49:52
Всем привет. Какой командой в tgbotapi редактировать уже отправленное сообщение?

Google
Aleksandr
03.07.2018
16:55:51
в доке глянь

Dmitri
03.07.2018
17:14:50
Всем привет. Какой командой в tgbotapi редактировать уже отправленное сообщение?
Надо вызвать что-то типа NewEditMessageConfig и отправить его в bot.Send()

Fastumkruk ✅
03.07.2018
17:18:27
Надо вызвать что-то типа NewEditMessageConfig и отправить его в bot.Send()
Как узнать ид сообщения которое мне надо отредактировать?

Fastumkruk ✅
03.07.2018
17:19:00
Ну как-то)
update.Message.MessageID

Vadim
03.07.2018
17:21:51
tgbotapi.NewEditMessageText()

stixlink
03.07.2018
18:42:25
скажите, пожалуйста, почему структура не подходит под интерфейс ? https://pastebin.com/9YYjy7En

Aleksandr
03.07.2018
18:43:31
CalculatePeriodDate(p structure.VideoBoostUpParameters) (time.Time, time.Time) CalculatePeriodDate(p *structure.VideoBoostUpParameters) (time.Time, time.Time)

найди разницу

Страница 1206 из 1630