Denis
но это действительно странная тема: https://play.golang.org/p/P0nW-qPY_0n ; вроде понятно, почему так работает, но странно, что я никогда с таким не сталкивался)
Denis
а в какой-нибудь джаве так же? нельзя передавать в функцию, которая на вход принимает массив интерфейсного типа массив объектов, класс которых этот интерфейс реализует?
Daniel
про яву не помню, но в го все, в общем, понятно
Daniel
экземпляр интерфейса представлен в памяти иначе, чем экземпляр типа
Daniel
поэтому и массив тудой-сюдой нельзя
Denis
кажется интересным вопросом для собеседования, если на собеседовании по тонкостям языка хочется пройтись) во всяком случае я бы сходу подумал что го сконвертирует так же, как конвертирует, если параметр - просто интерфейсный тип, а передаешь то что его реализует
Daniel
если бы не разное представление - так и было бы
Daniel
я, кстати, не понимаю, зачем оно разное
Diasko
Крик души, в Казахстане официально заблочили битбакет 😢
Anonymous
𝕄𝕚𝕜𝕙𝕒𝕚𝕝
Anonymous
да никому тащем-то..
𝕄𝕚𝕜𝕙𝕒𝕚𝕝
народ прокачался, даже хомячки теперь знают что есть такой vpn и proxy)
Aleksandr
а что там случилось? ссылки на магазины выкладывают?
Diasko
а что там случилось? ссылки на магазины выкладывают?
Да кто ещё знает, какой-нибудь материал запрещено содержания выкладывали
Nurzhan
Наверное, слишком умный код выкладывали (
Anonymous
Линукс компилит раза в полтора быстрее чем винда
Anonymous
Это норма? :/
Anonymous
Хотя винда пол оперативы отжирает
Anonymous
Это норма? :/
нет. Обычно раз в 10 быстрее 😂
Anonymous
Найс кодировка
Igor
Это норма? :/
Странно что вообще компилит :)
Daniel
dawN
я думаю - ntfs просто медленней ext4
если использовать нтфс из под винды, то выйдет одинаково во всяком случае так было у меня на одном и том же харде
Александр
Ребята добрый вечер подскажите я взял тестовый год на амазене создал инстанс в rds работаю с базой все гуд, через пару часов простоя пробую подключиться ошибка. Инстанс запущен перезагрузка не помогает. Кто нибудь сталкивался с такой проблемой или это из за бесплатного тарифа
Cat
если они 100%, то, вероятно, из-за них; иначе — причина другая
Александр
Спасибо посмотрю
Джамиль
Всем привет. Такой вопрос. Обязательно создавать свой проект в папке gopath/src?
Джамиль
и как подключать файлы .go, если они просто в папке приложения и не в src
Джамиль
Почитал про воркспейс, это отличие GO)
Джамиль
Советую пройти go tour)
я смотрел, но давно. И делал в папке src, но что-то задумался, почему нельзяв другой папке то
Джамиль
Какие подводные камни?
Diasko
Какие подводные камни?
Через goland для каждого проекта локальный gopath, обязательно что бы проект лёжа в папке src
V
но ведь https://github.com/golang-standards/project-layout
Илья
/src Some Go projects do have a src folder, but it usually happens when the devs came from the Java world where it's a common pattern. If you can help yourself try not to adopt this Java pattern. You really don't want your Go code or Go projects to look like Java 🙂 а если каждый проект это свой воркспейс, то как раз отличный вариант как например в getgb.io предполагается
Alexey
vgo идёт по похожему пути
Илья
vgo идёт по похожему пути
14го наверняка будет кучу раз подниматься эта тема)
Илья
сам vgo
Alexey
Нет, не будет :)
V
это предполагается структура внутри gopath/src/project
Daniel
vgo идёт по похожему пути
я чет упустил - похожему на что?
Илья
это предполагается структура внутри gopath/src/project
разумеется, но есть и такоей вариант: GOPATH=<project-dir>:<project-dir>/vendor - project-dir -- src -- vendor/src
Илья
т.о. проект становится ворк-спейсом
Alexey
Похожему на это ^
V
а не src/kokoko/vendor?
Alexey
С vgo можно будет делать git clone в любое место, без GOPATH
Илья
Ключевой момент это кастомный gopath
Илья
C dep не работал
V
вендоринг руками?
Aleksandr
dep под такое конфигурится?
dep под такое не конфигурится, т.к. vendor не в gopath не будет работать
V
если переопределять gopath на каждый проект в корень, то получится что vendor в gopath будет, другое дело, что вроде у меня ругался, если не gopath/src/name/vendor
Aleksandr
dep?
V
go build
Илья
он двойной
Илья
по сути, вендоры лежат с точки зрения компилятора на одном уровне с кодом проекта
V
по сути, вендоры лежат с точки зрения компилятора на одном уровне с кодом проекта
У меня не собирает, если vendor в корне проекта и gopath кинут в корень, а исходники в src/name/main.go, только если src/name/vendor . Видимо я что-то не понимаю 🙁
Stanislav
а вы под каждый проект отдельный воркспейс не делайте, а делайте нормально - один проект это один пакет :)
V
один большой main?
V
в репо проще класть готовый воркспейс
Stanislav
один большой main?
Это уже неправильная структура :)
V
так один пакет
Stanislav
так один пакет
Не видя кода-структуры ничего не подскажу. Только на работе я всех за такое бью по рукам, ибо создает доп. расходы на тестирование например, приходится писать скрипты
V
я думаю просто вы под пакетом не package подразумеваете, а что-то в стиле gopath/src/пакет
Stanislav
это и есть пакет
Stanislav
и в пакете могут быть подпакеты
Stanislav
которые тоже можно называть пакетами :)
V
с этого и начали, однако кто-то любит отдельные воркспейсы, вот и вопрос преимущества-недостатки
Anonymous
Недостатки: индивидуальные GOPATH не делают большинство ребят, с индивидуальным GOPATH надо его делать дефолтным при переключении с проекта на проект. Лучше посмотреть как делают те же Kubernetes/CoreOS и делат также