Anonymous
если не объявлять в ифе то принтится на изи
Anonymous
а если в ифе то нет
V
Потому что область видимости (скоуп) - важный элемент дизайна программных языков.
Anonymous
как скажешь
V
а если в ифе то нет
если определить в ифе - тоже принтится в else
V
Скоуп можно задавать просто скобками { a := true } fmt.Println(a) // выдаст undefined a
Anonymous
да, я понял
Anonymous
надо будет в песочнице поиграться
V
определение переменной в if - это способ не замусоривать локальный скоуп переменными, которые после блока if-else будут не нужны
Anonymous
я много раз встречал подобную структуру, но не обращал особого внимания
Anonymous
но захотелось код сделать лучше
Anonymous
и началось сокращение
V
https://play.golang.org/p/otCjfmQ0bdo a := -1 if a := 2; a > 0 { fmt.Printf("Inside the if scope a = %v\n", a) // 2 } fmt.Printf("But outside if scope a = %v\n", a) // -1
TEH3OP
https://play.golang.org/p/otCjfmQ0bdo a := -1 if a := 2; a > 0 { fmt.Printf("Inside the if scope a = %v\n", a) // 2 } fmt.Printf("But outside if scope a = %v\n", a) // -1
Ну я прошу пардона, это обычный пример затенения (shadowing) переменной. a внутри if затеняет "внешнюю" a. Ничего необычного в этом коде нет вроде... Или я что-то не понял?
Askar
Всем привет, кто хочет на досуге пописать немного на голанге на своих условиях, пишите мне в личку. Для начала у меня есть такая задача: Имеется модифицированная версия системы комментариев commento, написанная на golang+postgres. Оригинал см. [commento.io](https://commento.io/), модифицированная версия https://gitlab.com/AnotherOneAckap/commento В этом [форке commento] (https://gitlab.com/AnotherOneAckap/commento) была добавлена иерархия в комментарии, пагинация выдачи в АПИ и некоторые другие вещи. Необходимо изменить поведение в методе АПИ [/api/comment/rootlist](https://gitlab.com/AnotherOneAckap/commento/-/blob/master/api/comment_root_list.go). Сейчас метод возвращает комментарии самого верхнего уровня. Нужно изменить сортировку в выдаче: выводить наверху те комментарии, которые имеют свежие ответы в потомках любого уровня. То есть чем свежее ответ в поддереве данного комментария, тем выше он в списке.
Ilya
Но тогда будет на один запрос к базе больше. Ведь сначала нам нужно будет вытянуть самые новые сообщения, и только затем вытянуть дерево.
ⒺⒷⓄⓃⓎ Ⓜ️ⒶⓌ ☝️
hi, hex.Dump(content): 00000000 47 6f 20 69 73 20 61 6e 20 6f 70 65 6e 20 73 6f |Go is an open so| 00000010 75 72 63 65 20 70 72 6f 67 72 61 6d 6d 69 6e 67 |urce programming| 00000020 20 6c 61 6e 67 75 61 67 65 2e | language.| how to get result only : 47 6f 20 69 73 20 61 6e 20 6f 70 65 6e 20 73 6f 75 72 63 65 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 2e
Alexander
And I get answers in Russian, which I don't understand
"It's not hard now. A lot of info. But in old days..." There are cases when russian speakers talk in english here for no reason. So one could think that you are a russian speaker, but you're not.
Emil
ну и самое простое, если зон немного, то можно и одним апдейтом все проапдейтить и посмотреть аффектед роус
И то правда... Кажется, вариант Не думал о проверке количества измеренных строк, а все можно сунуть в один запрос... Все и правда упрощает Спасибо
Arun
Db to send data to excel using golang
Arun
Please help me
🅞leksiy
https://github.com/joho/sqltocsv
Arun
Thnx broo
Вал
Upwork
Anonymous
можете пояснить за контекст? я понял, что он содержит в себе всевозможную инфу, но для чего именно он нужен?
Вал
Часто просят крипто ботов на нем
Emil
Ещё он слидит за разнообразными таймаутами и в принципе живое ли то, куда он попал и какую функцию дергнули
Anonymous
вызов базовых функций, доступ к ресурсам, вызов активности, к файловой системе
Anonymous
ну если верить стаку
Anonymous
вроде бы пазл собрался
Anonymous
спасибо
Che
можете пояснить за контекст? я понял, что он содержит в себе всевозможную инфу, но для чего именно он нужен?
Есть несколько основных задач для чего можно его использовать: 1. Завершать горутины (сообщать о том что нужно завершаться) из других горутин вручную (WithCancel) или по времени (WithTimeout, WithDeadline) 2. Передавать значения по процессу выполнения между разными рутинами (WithValue) Штука очень удобная в правильных руках)
Anonymous
первый раз слышу подобное
Anonymous
не знал, спс
Arun
Csvtosql in golang...please bro
Anonymous
whats wrong?
Anonymous
не в тот чат пишите
Anonymous
почему?
Anonymous
потому что этот чат флудилка для гуру кодинга
Anonymous
почему?
https://t.me/gogetajob
Anonymous
вам сюда
Anonymous
Ок
Emil
Вопрос скорее об архитектуре, наверное, извините Вот есть таблица, на которой зоны отмечаются, если забронированы. Но если через какое-то время оплаты не было, освободить надо бронь, я тут задавал похожий вопрос по верификации почты Была идея поставить тригер на бд и отложить выполнение, ещё посоветовали cron Но я хотел не зависить от самой бд, а если выполнение очистки верификации и проверки оплаты будет в бд, то придется менять методы для разных бд В коде или в бд лучше такое делать и, соответственно, внутри самих ответвлений, какой лучший способ?
John
Я бы сделал в коде
John
Спринг? Java?
John
Или что?
Oleg
Спринг? Java?
Не туда запостил Да в Спринге джава
Emil
Я бы сделал в коде
А как? Я думал запустить рутины с таймингами, но тут говорили(и звучит справедливо), что все будет плохо в случае перезагрузки приложения
John
А как? Я думал запустить рутины с таймингами, но тут говорили(и звучит справедливо), что все будет плохо в случае перезагрузки приложения
Создаёшь тикер и в горутини читаешь канал , как пришла метка во времени выполняй бизнес логику
John
Я с телефона, сори за орфографию
Emil
Создаёшь тикер и в горутини читаешь канал , как пришла метка во времени выполняй бизнес логику
А если будет перезагрузка, то тикеры обнулятся, это не страшно или с этим можно что-то сделать? Можно хранить експаер тайм в бд и подгружать при старте, норм?
John
Напиши функцию с бизнес логикой, выполни ее, а потом эту же функцию по таймеру
Emil
Хм, посмотрю попробую, спасибо
/slvscm
занятно. некоторые старички, для которых с++ уже давно вопрос религиозности, ставят жирный минус голангу за раздутый runtime. мол даже malware какой-нибудь писать невозможно, потому что «что? троян в несколько мегабайт? пффф». при этом неплохая статья этого года, про то, что антивирусы пропускают в скане крупные файлы и получается, что голанг здесь как никогда доминирует над крестами
Ig
А почему вообще писание вирусов + для языка?
Ig
Это как колумбийские торговцы стирального порошка жалуются, на марку какой нибудь машины, что вот маленький багажник и плохая проходимость по джунглям)
/slvscm
А почему вообще писание вирусов + для языка?
ну просто где ещё могут мешать статические библиотеки и что плохого в «жирных» исполняемых файлах в почти 2022 году?
Alexander
"Go-зловреды могут длительное время оставаться необнаруженными по причине большого размера. Из-за статического связывания двоичные файлы в Go крупнее, чем в других языках. Многие антивирусные программы такие объемные файлы не сканируют." Виндовый антивирус очень жирную активность проявляет первое время, если приложение на go имеет много сетевой активности из моего опыта. Так что я не знаю, кто там чего не сканирует
Maks
Вообще немного расстраивает что в винде так сложно навсегда полностью отключить антивирусную защиту.
Alexander
да, раньше было легко. сейчас даже уже лень копать)
Maks
Блин, им надо было в установщике сделать что нужно устанавливать а что нет. Например едже это ок, а антивирус мне не нужен. Но больше всего бесит всякий софт, который ты никогда не юзаешь. Это пеинт, многие не юзают всякий софт для 3д, это какие то еще не понятные игры из коробки которые в 10 последних ревизий точно помню были.
Maks
Сделали бы как во всех установщиках стандартная установка и продвинутая
Maks
Я понимаю что магазин мастхев, но вот аутлук например многим не нужен(хотя я его юзаю).
Alexander
из магазина даже файрфокс или хромиум не поставить - нафиг он нужен
Maks
Ну все же это их основное средство внутренней дистрибьюции, так что пусть будет. В этом плане я бы пожелал им успеха
Maks
Еще большая проблема винды это UX
Maks
Ну катастрофа какая то))) да даже на айфоне. Такое чувство что темную тему сделать никто не может нормально. Телега самую нормальную темную тему на телефоне имеет.
Maks
Слишком все черное
Maks
В инсте на иос тоже все черное как хз че
Alexander
"Кроме того, большинству антивирусов сложнее найти подозрительный код в бинарном коде на Go. Двоичные файлы на Go значительно отличаются от подобных файлов на других более распространенных языках." - вот этот момент мне нравится. Можно ведь попробовать и другие языки с нативной компиляцией и жирным рантаймом, к которым меньше привыкли
Null
📄 Реализация перечислений в Golang https://uproger.com/realizacziya-perechislenij-v-golang/ @Golang_google
A. F. E. D.
Ребят почему в этом коде ошибку показывает?(
A. F. E. D.
package main import ( "fmt" ) func main() { var c int32 fmt.Scan(&c) switch c { case c==10000: fmt.Println(c/10000) case c>=1000: fmt.Println(c/1000) case c>=100: fmt.Println(c/100) case c>=10: fmt.Println(c/10) case c<10: fmt.Println(c) default: fmt.Println("Unknown Number") } }
A. F. E. D.
.\test.go:11:2: cannot use c == 10000 (type untyped bool) as type int32
A. F. E. D.
=(
A. F. E. D.
тип я понимаю что что то с типом