Taras 🦀
не получается найти где
Aleksandr
код умеешь в редакторе смотреть?
Taras 🦀
stmt, err5 := db.Prepare("INSERT INTO my_table .. и?
Taras 🦀
говорю же — не знаю какой тип в stmt и не получается нагуглить где это, в доке
Brommie
помгите понять что не так)?
Aleksandr
во всех редакторах ctrl+click по функции переносит в место ее объявления, и там видно что функция возвращает
Brommie
exec: "cmd /C sleep 1 && del C:\\Users\\Web3\\go\\src\\xxx\\wsp\\xxx.exe": file does not exist
Brommie
file does not exist
да, но он то есть
Aleksandr
да, но он то есть
написано что нет
Brommie
так путь к файлу
ainu
https://golang.org/pkg/database/sql/#Stmt
Brommie
это путь к самой проге
Brommie
к бинарнику
Илья
помгите понять что не так)?
cmd := exec.Command("tr", "a-z", "A-Z")
Danil
господа, не подскажите либу подобную питоновской win32crypt
Je
undefined: Stmt
Что undefined? я ткнул тебя в доку, что возвращает, ткни на *Stmt и посмотри набор методов над ним
Aleksandr
а ты уверен что можно две команды использовать через &&?
Илья
аргументы нужно передавать как аргументы, го по дефолту обезопашивает вызов
Taras 🦀
undefined: Stmt
в импорте есть _ "github.com/mattn/go-sqlite3" "github.com/PuerkitoBio/goquery" "database/sql"
Brommie
да, гуглил и в cmd запускал
Aleksandr
в импорте есть _ "github.com/mattn/go-sqlite3" "github.com/PuerkitoBio/goquery" "database/sql"
слушай, давай научись с редактором обращаться. ты задаешь очень простой вопрос, не требующий навыков го
Taras 🦀
слушай, давай научись с редактором обращаться. ты задаешь очень простой вопрос, не требующий навыков го
я в main готовлю Prepare, вставку в базу хочу делать в отдельной функции, я туплю как в отдельной функции принять этот stmt, я туплю какой тип написать для этого stmt при чем тут редактор???
Aleksandr
во всех редакторах ctrl+click по функции переносит в место ее объявления, и там видно что функция возвращает
Taras 🦀
Что undefined? я ткнул тебя в доку, что возвращает, ткни на *Stmt и посмотри набор методов над ним
https://golang.org/pkg/database/sql/#DB.Prepare вот, тыкнул пишет func (db *DB) Prepare(query string) (*Stmt, error) пишу дальше func my_func(data string, stmt *Stmt){ и получаю undefined: Stmt где я туплю? как исправить?
Taras 🦀
пишу же — яхз какой тип прописать, ругается компилятор
Aleksandr
у меня вопрос именно об объявлении функции
так ты узнал какой тип возвращает? тот и напиши
Aleksandr
если ругается, приведи текст ошибки
Taras 🦀
*Stmt
писал уже так, ругается компилятор
Taras 🦀
если ругается, приведи текст ошибки
выше привел ``` undefined: Stmt ```
Aleksandr
*Stmt - это Stmt из текущего пакета
Aleksandr
в sql/db пакет другой
Roman
имплицитно конвертятся типы в интерфейсы
учитывая что типы в интерфейсы имплицитно кастятся, стоит ли имплицитно кастить non-const в const?
Taras 🦀
*sql.Stmt
вроде получилось, благодарю
Илья
учитывая что типы в интерфейсы имплицитно кастятся, стоит ли имплицитно кастить non-const в const?
вы точно знаете что такое интерфейсы? и что происходит в "касте" типа в интерфейс?
Илья
никак, просто каша в голове
Алексей
Всем привет! Приглашаю на митап. 23 сентября, в воскресенье, в московском офисе Mail.Ru Group состоится тематический митап – Go в продакшене. Цель встречи – рассказать и показать на примерах разных компаний, как мигрировать на Go с других языков, почему проекты и компании выбирают Go, какие решают задачи, с чем сталкиваются при переходе, какие получают результаты и т.д. Митап ориентирован на людей, которые не имеют опыта в Go, но очень хотят попробовать и нуждаются во вдохновляющих примерах. Хардкорных кишков го не будет. Программа: — «Миллиард пушей на Go», Дмитрий Швеенков, Mail.Ru Group — «Медиасервер трансляций на GoLang», Михаил Радченко, ВКонтакте — «Два очень разных опыта миграции на Golang. На примере компаний Lazada и Ozon.travel», Юрий Васияров, Ozon.travel — «Переход web-api Почты@Mail.Ru на Go», Василий Романов, Mail.Ru Group — «Pipeline поиска по Почте@Mail.Ru на Go», Виктор Стародуб, Mail.Ru Group — «Опыт перехода Авито.Доставки с Java на Go», Илья Лапин, Avito — «Как мы начали использовать Go в Ответах@mail.ru», Марк Белоцкий, Mail.Ru Group — список пополняется Мероприятие бесплатное, но требуется регистрация https://corp.mail.ru/ru/press/events/510/ Трансляция будет, видео будет. Если вы хотите поделиться своим кейсом, который подходит под тему митапа - на странице регистрации есть ссылка.
Пичаль что не в Птере...
Roman
Пичаль что не в Птере...
func ExplicitCasting() (const [] * const Object) { result := make([]*Object, 10) for i := 0; i < 10; i++ { result[i] = &Object{} } // excplicitly cast non-const to const return const [] * const Object(result) } func ImplicitCasting() (const [] * const Object) { result := make([]*Object, 10) for i := 0; i < 10; i++ { result[i] = &Object{} } // non-const implicitly casted to const return result }
i..
а это точно ide?
Оно вроде как спецом для го, даже)
Aleksandr
Оно вроде как спецом для го, даже)
и там нет такой функции?
Илья
поскольку я плохо понимаю, что в вашем случае должен делать компилятор с const объектами ссылочного типа (подумайте, почему их не завезли ранее), я не знаю, чего вы хотите добиться, const [] * const Object(result) - работать в го не должно, тк слишком много отдает на откуп компилятора
i..
и там нет такой функции?
Держу ктрл, кликаю на fmt. Println, ничего не происходит
i..
Видимо не во всех🤷‍♂
Aleksandr
Держу ктрл, кликаю на fmt. Println, ничего не происходит
вам тоже следует изучить возможности своего редактора
i..
Надо удержать
i..
Тогда будет🤷‍♂
Aleksandr
Видимо не во всех🤷‍♂
вы неправильно поняли посыл - он в том, что надо редактором пользоваться, а не в том, что во всех редакторах клавиатурные сокращения одинаковы
Roman
поскольку я плохо понимаю, что в вашем случае должен делать компилятор с const объектами ссылочного типа (подумайте, почему их не завезли ранее), я не знаю, чего вы хотите добиться, const [] * const Object(result) - работать в го не должно, тк слишком много отдает на откуп компилятора
const типы это отдельные типы с ограничением того что нельзя вызывать на них мутирующие методы (методы с не const receiver'ом), в них нельзя assign'ить и assign'ить в их поля зачем это надо я уже объяснял достаточно
Roman
поскольку я плохо понимаю, что в вашем случае должен делать компилятор с const объектами ссылочного типа (подумайте, почему их не завезли ранее), я не знаю, чего вы хотите добиться, const [] * const Object(result) - работать в го не должно, тк слишком много отдает на откуп компилятора
что ты имеешь ввиду под "откупом компилятора" я не совсем понял.. компилятор просто проверяет, происходят ли мутации на немутабельных типах и бросает ошибки если мутации немутабельных типов обнаруживаются
Pawel
== зачем это надо я уже объяснял достаточно да. Это надо исключительно для того, чтобы заставить гоферов страдать, ковыряя свой и чужой код в поисках того, что есть const и что не есть const
Roman
следственно и кастинг по умолчанию нужен, поскольку типы в Go имплицитно не конвертируются. Но я подумываю об исключении mut to immut конвертации по принципу конвертации типов в интерфейсы
Roman
== зачем это надо я уже объяснял достаточно да. Это надо исключительно для того, чтобы заставить гоферов страдать, ковыряя свой и чужой код в поисках того, что есть const и что не есть const
я не собираюсь очередной раз спорить, лишь напомню, что если вам не понятно зачем это надо, то это ещё не значит что оно не нужно в принципе.
Алексей
== зачем это надо я уже объяснял достаточно да. Это надо исключительно для того, чтобы заставить гоферов страдать, ковыряя свой и чужой код в поисках того, что есть const и что не есть const
Ну конечно, ведь в таком принципиально многопоточном языке как Go всё должно быть настолько мутабельно, насколько возможно, чтобы гоферы не расслаблялись в поисках где там что в какой горутине мутируется.
Roman
Ну конечно, ведь в таком принципиально многопоточном языке как Go всё должно быть настолько мутабельно, насколько возможно, чтобы гоферы не расслаблялись в поисках где там что в какой горутине мутируется.
человек не поймёт пока его самого это не затронет, или пока он не начнёт писать open source библиотеку для общего использования, или хотя-бы не начнёт работать в большой команде над большим проектом. объяснять бесполезно, я уже пробовал.
Roman
поэтому давайте не устраивать очередной спор. Это лишняя трата времени. Кому иммутабельность "не нужна" - просто смело игнорируйте дискуссии по этому поводу 🙂
Pawel
я не собираюсь очередной раз спорить, лишь напомню, что если вам не понятно зачем это надо, то это ещё не значит что оно не нужно в принципе.
я не спорю, а уточняю. Объяснения ваши я помню, они не убедительны. Как и всех желающих напихать в Го стат. гарантий под завязку якобы это упростит разработку. Не упростит - см. Rust
Алексей
Да, объяснять бесполезно. Тут уже сидит слепая вера.
Тут единственный возможный аргумент может прозвучать только из уст мессии. Если Роб Пайк вдруг скажет, что надо всё таки иммутабельности немножко подвезти, то Павел сразу будет за иммутабельность топить.
Мерль
Я предлагаю притормозить на этом месте всем участникам дискуссии
Andrei 🦉
поэтому давайте не устраивать очередной спор. Это лишняя трата времени. Кому иммутабельность "не нужна" - просто смело игнорируйте дискуссии по этому поводу 🙂
ну когда менеджер зависимостей из коробки и дженерики были «не нужны», то их обсуждение здесь каралось RO, вот некоторые и привыкли
Anonymous
Парни, по swagger'у дока на русском есть или статья? А то у @rvasily как то скомкано и урезано.
Roman
Я предлагаю притормозить на этом месте всем участникам дискуссии
о чём я и грю, не хочу заводить лишние споры, лишь выяснить некоторые детали для завершения написания proposal'а в чём нужно стороннее мнение
Andrei 🦉
в обсуждении ничего плохого нет. проблема в нудных повторениях.
в чатах все обсуждения постоянно повторяются просто потому что каждый раз состав участников немного меняется