🅞leksiy
Типа переменная x копируется и запоминается при defer ?
Илья
https://go.dev/play/p/N0ng8nzOmh4
Илья
🅞leksiy
Ну я понимаю, просто пытаюсь понять такой механизм
🅞leksiy
Зачем делать снапшот
Илья
defer func() {
X.a().b()
}()
.a() сразу выполнится, а .b() останется в стеке дефера
🅞leksiy
Вот это интереснее уже)
Илья
поэтому и в твоем примере х копируется сразу, а потом выполнится только .S()
🅞leksiy
🅞leksiy
А не второй
🅞leksiy
Если поместить внутрь defer func() { ... } то по идее ниче вообще не рассчитывается заранее, просто используется замыкание на оригинальную структуру
🅞leksiy
defer func() {
X.a().b()
}()
Здесь все в конце посчитается, и a и b
🅞leksiy
defer X.a().b()
Так a() рассчитается, но с ней хоть понятно, а вот почему структура рассчитывается и снапшотится без вызова метода я все равно не догоняю
Юра (Юрий Александрович)
Где вообще объявление переменной X, метода a() и метода b() ?
спиритический сеанс какой-то...
(или X - это пекейдж какой-то, что это вообще?)
Илья
Илья
Each time a "defer" statement executes, the function value and parameters to the call are evaluated as usual and saved anew but the actual function is not invoked
Илья
может это такая особенность структур?
🅞leksiy
Забавно. Особенно учитывая всякие
defer f.Close()
🅞leksiy
В общем методы на указатели нужно юзать, в очередной раз убеждаюсь
Илья
а вот в расте такого нет
🅞leksiy
😅
Илья
🅞leksiy
la4z
Привет. Юзаем пакет pgx, проблема со вставкой массива строк в select. Каким образом без костылей можно адекватно его вставить в query?
la4z
в $1 не пихается массив строк, нужно форами это форматировать? Или есть другие варианты?
Ron Mount
а приведи пример запроса
Ron Mount
in что ли?
Эмиль
Если in, то можно через strings.Join сделать
Ron Mount
ну а куда ещё в селект список можно запихать я даже не знаю
la4z
in что ли?
SELECT * FROM table WHERE id in ();
Такова задача
la4z
la4z
Сделал форматированием, потом переписывать будем получается
Anonymous
Приветствую! Пишу код в vscode, устанавливал go через репозиторий. Создалась папка в ~/home/go, там же был настроен GOPATH. Хочу писать проект в другой папке. Изменил GOPATH, только на папку в которой пишу. Вопрос следующий: Зачем папка go в home, и нужно ли её указывать в GOPATH?
Tossadar
пеши в докере, контейнере
Sergey
Null
♻️ Мета выпустила переводчик на 200 языков.
В открытом доступе теперь лежит модель No language left behind (Ни один язык не останется за бортом), которая переводит с 200+ различных языков.
Модель уже применняется для улучшения переводов на Facebook, Instagram и Wikipedia.
Код
Статья
Demo
Blog
#AI #ML #NLP
@data_analysis_ml
Null
Socialhunter
Инструмент, который сканирует указанные URL-адреса и находит ссылки в социальных сетях, которые можно взломать
В настоящее время поддерживает Twitter, Facebook, Instagram и Tiktok без каких-либо ключей API.
Github: https://github.com/utkusen/socialhunter
#Go #Privacy #Interesting
@Golang_google
Никита
Сообщество для фрилансеров и потенциальных работодателей.
Делюсь ссылкой на 👉 чат
Roman
Maks
Такая чушь)
Maks
Посмотрите код, там мало
Maks
он ходит по ссылкам и чекает расширения всякие
Максим
Кто подскажет, в канал надо класть саму структуру или ссылку на структуру? или указатель после исполенния горутины превращается в тыкву?
Максим
накидал пример, который генерирует ошибку
Максим
https://go.dev/play/p/tjvGHVCMChc
Максим
кто может подсказать, где я не прав?
Максим
Counter => 1 map = &{{{0 0} 0 0 0 0} map[]}
Counter => 3 map = &{{{0 0} 0 0 0 0} map[0:0xc000094000]}
Counter => 6 map = &{{{0 0} 0 0 0 0} map[0:0xc00005c080]}
&{Иван_4 Иванов}
<nil>
<nil>
<nil>
Exit
Program exited.
Максим
видим, что указатель меняется при изменениии счетчика
Максим
а запись в мапе по прежнему одна
Aleksandr
отправка и чтение из канала не синхронизированы кажется
Максим
в соседнем чатике парни помогли) отбой)
Максим
https://go.dev/play/p/o2O_RwXhz4R
Dmitry
Всем привет
в го недавно
решил написать сокращатель
https://intersog.com/blog/how-to-write-a-custom-url-shortener-using-golang-and-redis/
Dmitry
с момента
And implement this interface to use Redis as a data source. For the first step, we will create a constructor that prepares the connection pool for Redis.
Dmitry
не совсем понятно *redisClient.Pool
мб я что-то упускаю
Dmitry
или автор ?
Dmitry
type redis struct{ pool *redisClient.Pool }
откуда вообще этот redisClient
если испортируется сразу redis
Dmitry
он там просто не описывает как с редисом работает
типо импортирует вот так получается ?
Dmitry
Emin Zalaev
тоже тестовое в озон делаешь что ли
Andrey
Ну чел захотел и сделал alias или как там его для пакета. Что такого?
Victor
просто вместо redis. надо писать redisClient.
Dmitry
Dmitry
не я чисто для себя
Илья
Emin Zalaev
подскажите кто шарит за пакет рантайм, мне нужно снять метрики а именно
memory in off heap
memory in heap
memory in stack
total used memory
rates of allocation
number of live objects
Rate Of Objects Allocated
Goroutines
правильно ли я их снимаю
Emin Zalaev
Aleksandr
Dmitry
Dmitry
но не инициализирует его
Dmitry
как понять как его инициализировать ?
Dmitry
Emin Zalaev
у тебя в модуле storage он есть?
Dmitry
Dmitry
да вот он