Anton
Aleksandr
пробовал, не помогает
ну так ты закрываешь канал после отправки
Aleksandr
в тот же канал уже не отправить
Aleksandr
то есть создается другой
Aleksandr
Register два раза вызывается?
Anton
нет
Aleksandr
да, я воспроизвел
Aleksandr
щас разберемся
Anton
Ура!) я бы просто переписал на waitGroup, но хочется понять, в чем тут нюанс
Anonymous
https://play.golang.org/p/5B6xzV2r1b7
Anton
да, тут как раз тоже есть такая беда
Anonymous
https://play.golang.org/p/TcWwQkiWLbr
Anonymous
break зарулил, дело в for
Anonymous
у меня один вопрос - как он читает из закрытого канала и закрывает его еще раз?))))
Anton
https://play.golang.org/p/TcWwQkiWLbr
ну если делать так, как тут, то не удастся дождаться данных из канала sectorCh
Anton
не, читать то из закрытого канала в принципе вроде ведь можно? во всяком случае через for range точно можно из него все достать
Anton
но откуда в канале берется инфа, после того как он закрывается - загадка
L
у меня внутри кейса, который читает канал юзера стреляет дважды
кажется в селекте нужно сделать типа того: case u, ok = <-userCh: if !ok { break // return }
L
при закрытии канала оно еще что-то пуляет емнип
L
это ожидаемое поведение
Илья
https://dave.cheney.net/2014/03/19/channel-axioms
Anton
во дела не знал
Anton
это ожидаемое поведение
спасибо большое, просвятил
Anton
буду знать)
Aleksandr
https://play.golang.org/p/FfeL-lVIibl
Aleksandr
надо ok проверять
Anonymous
A receive from a closed channel returns the zero value immediately
т.е. селект всегда будет пробиваться пустыми значениями из закрытых каналов?
Aleksandr
иначе читаем из пустого канала
Aleksandr
имнип не всегда, 1 раз
в моей демке всегда
Anonymous
Anonymous
даже после вычитывания пустого значения
Andrei 🦉
т.е. селект всегда будет пробиваться пустыми значениями из закрытых каналов?
да, потому что select делает неблокирующее чтение и в переменную слева всегда что то должно упасть
Илья
имнип не всегда, 1 раз
https://play.golang.org/p/c0Ho8dw0Lg7
Kirill
Б-же, у нас что, люди каналы уже не знают?
L
Б-же, у нас что, люди каналы уже не знают?
не все 10 лет на гошечке сидят
Илья
Б-же, у нас что, люди каналы уже не знают?
эко тебя отнейросетило :) конечно не знают
Anton
L
в моей демке всегда
сори, всегда думал что раз.
Kirill
не все 10 лет на гошечке сидят
Я тоже на алефе не писал, и чо?
Kirill
эко тебя отнейросетило :) конечно не знают
А? Первую фразу переведи, плиз 😂
Илья
https://geeksus.ru/wp-content/uploads/2017/10/13.jpg
Илья
А? Первую фразу переведи, плиз 😂
ну, на аватарке у тебя фото обработанное призмой
Kirill
Это не призма
Viacheslav!
Привет!
Viacheslav!
Можете подсказать по локализации?
Viacheslav!
i18n.MustLoadTranslationFile("en-us.all.json") T, _ := i18n.Tfunc("en-US") t, _ := template.ParseFiles("template/index.html", "template/header.html", "template/footer.html") t.Funcs(map[string]interface{}{ "T": T,}) t.Execute(w, map[string]interface{}{"Title": "New cat"}) правильно ли я делаю?
Viacheslav!
в шаблоне <h1>{{T "home_button" .}}</h1> но вываливается ошибка в консоль runtime error: invalid memory address or nil pointer dereference goroutine
Anton
https://gobyexample.com/select
Anton
а чем вот этот пример принципиально отличается от моего?
Anonymous
https://gobyexample.com/select
тем, что каналы не закрываются
Aleksandr
2 поменяй на 3, закрой каналы, и будет всегда первый case выполняться
Илья
Это не призма
https://github.com/fogleman/primitive оно чтоли?
Vadim
Привет, я тут подумал. Думаю, надо сделать петицию против использования int.
Vadim
Ненавижу, то он int32, то он int64. А причин, почему он лучше int64 и int32 не вижу. Возможно, что то на уровне ассемблера.
L
боже( нужно внимательнее читать комментарии. Увидел циферки 32 и такой запомнил
Vadim
int is a signed integer type that is at least 32 bits in size. It is a distinct type, however, and not an alias for, say, int32.
Vadim
это untyped int, он является 32 или 64 в зависимости от архитектуры
Понял ваш мэсседж, неправильно выразился
Илья
в смысле языков
Artem
да вроде он всегда тут был
Vadim
вы к нам из каких краев?
На го больше года уже пишу. Просто достало, когда одна библиотека тебе присылает int64, а второй ты должен отослать int.
Vadim
И нужно переводить типы. А best practice нет
Vadim
Накипео
Илья
эм, а если в int32 переводить, то лучше?
Vadim
эм, а если в int32 переводить, то лучше?
Обычно вместо int пишут int64, а не 32.
Vadim
Мало либ, где int32 будет дефолтным интом
Илья
либы есть и они разные, int/uint тоже отменить?