Andrey
gometalinter
Sergey
скиньте ссылку что должно быть в проекте кроме самих файлов программы и ридми
почитать хоть
Andrey
варнинги на счет defer, на сколько я понял надо делать defer func () и внутри обрабатывать error, ну судя по стэк оверфлоу, могу ошибаться я до этого этот инструмент не видел, Daniel лучше пусть расскажет :)
Kirill
Sergey
Kirill
у меня в грэйме тот же набор
Daniel
Daniel
сегодня день как-йто невыносимо жаркий, голова не варит
Andrey
Ну если буде возможность завтра например, буду благодарен, а день да хорош, у нас тоже жарко было в ЕКБ @onokonem
Anonymous
тупой вопрос что лучше слайсы строк или просто строки?
Kirill
действительно, тупой вопрос
Kirill
они для разных задач
Anonymous
я просто взял задачу выбрав не тот язык и хочу её закончит
Anonymous
и поэтому я иногда задаю тупые вопросы
Oleksii
и поэтому я иногда задаю тупые вопросы
Для таких вопросов надо давать хоть какой-нибудь контекст, чтобы можно было хотя бы примерно представить, что и каким образом ты пытаешься сделать.
Anonymous
просто я сеаризули строки для tcp сокета
Roman
Anonymous
А что там сложного?
Ничего сложного просто Я никогда этого не делал Я всегда отдавал внешним библиотекам
Roman
Anonymous
Как - ты реализовал бы это
Daniel
коллега
Daniel
в чем ваша проблема?
Daniel
сериализаторв-десериализаторов полно
Daniel
возьмите стандартный json для начала
Roman
Roman
Anonymous
Я подумал может быт, в два этапа посылать 1 этот текст дальше ответов сервера и всё хорошо а потом бинарный файл
Roman
Nikita
А дебажить возможно когда используется горутины?
Nikita
Подскажите, почему мне в канал ничего не приходит?
Nikita
https://play.golang.org/p/nrZLJFsD1j
Oleksii
Подскажите, почему мне в канал ничего не приходит?
Я о многопоточности в Go не много знаю, но кажется, что main goroutine заканчивается раньше, чем ты успеваешь что-то прочитать из канала c. В случае select из определенным default кейсом чтение из канала не блокируется, а пробежать 10 итераций цикла - это очень быстро. Поправьте меня, если неправ, сам пока что учусь.
Nikita
не смогу поправить, я сам ничего не понимаю
Nikita
я не смог даже это сделать
https://go-tour-ru-ru.appspot.com/methods/25
Nikita
Честно, говоря разочаровывает, что даже с русской обучалкой, у меня такие сложности. С js таких проблем не было.
Valentin
Daniel
помоему опыту - в любой многопоточной программе дебагер чуть менее, чем бесполезен
Valentin
Насчёт полезности этого согласен)
Anatoly
посоны, я что-то запутался, кто православнее dep или godep? Я думал это одно, а оказалос нит.
Мерль
dep
Это штука в будущем станет "нативным" менеджером
Anonymous
на gophercon есть доклад как сделать дебаггер при помощи системных вызовов. интересный материал.
Nikita
Oleksii
Nikita
потому, что код типо должен быть синхронным, нет?
Nikita
https://go-tour-ru-ru.appspot.com/concurrency/2
Nikita
вот тут сначала запускают функции, а потом слушают ответ из канала
Nikita
если убрать select, то все работает
Nikita
хм
Oleksii
В случае select из определенным default кейсом чтение из канала не блокируется
Nikita
цифры получилось выводить, но не могу остановиться на ошибке
Nikita
хотя вроде бы цикл for range должен умееть на это реагировать
Daniel
на что?
Nikita
да, я Walk функцию сделать смог, я не мог понять в какой момент мне закрывать канал, теперь смог
Nikita
https://play.golang.org/p/dND7PbeG3D
Nikita
что-то я не понимаю, в тесте мне говорят, что если я прокину tree.New(1) и tree.New(1) то результаты должны быть одинаковыми
Nikita
но я даже через println посмотрел, там с самого начала разные результаты
Nikita
а, я немного не правильно сделал WalkRecur
Nikita
узнал из лекции из mail.ru, что есть функция new(), но в спецификации языка ее не нашел, для чего она?
Michael
вроде как &Struct{}
Michael
тоже самое делает
Vasily
Почти
Vasily
ТОлько для любого типа
Michael
https://golang.org/ref/spec#Allocation
Vasily
new(int) тоже будет работать
Nikita
ясно
Nikita
типо &int нельзя сделать и используют new
Michael
return &int ?!
Pawel
я вот чо подумал - а насколько адекватна идея юзать ссылку на кастомизированный логгер в различных прикладных объектах? Вот допустим хочу чтобы тип, управялющий соединением с БД , в своих методах все ошибки и отладочные сообщения пихал в этот логгер
type DB struct {
*bolt.DB
Logger *log.Logger
}
func (x DB) view() {
err := x.View(func(tx *bolt.Tx) error {
///...
return nil
})
if err != nil {
x.Logger.Panic(err)
}
}
наскольколько это нормально и используется ли где нибудь такой подход ?
Pawel
то есть можно например не пытаться обработать ошибки в методах DB, но тогда будет говнокод с анализом ошибок CRUD операций
Anonymous
не очен понял в чем идея и вопрос?
все ошибки рано или поздно должны быть видны на уровне, который чем-то управляет, у него наверное есть логгер, причем желательно логгер-интерфейс чтобы подпихнуть туда мок и протестить что в лог действительно что-то попадает.
Ilya
Kirill
Kirill