Kirill
Kirill
¯\_(ツ)_/¯
Artem
go killsyou
Aleksandr
Vladislav
Вы о replace что-ли?
Aleksandr
Об именования пакетов и модулей
Artem
Daniel
разве?
теперь я могу скачать модуль.
и в нем будут вот такие импорты.
и я буду читать код, и, каждый раз, видя что-то вроде import "net/http" я должен буду пойти проверить go.mod
по-моему, кое-что изменилось
Kirill
LOL https://github.com/golang/go/commit/9850ad045fced1346a049df4baec7d4b7ab0db8c#diff-b2d90156dd033e6f5810ff415a54dbf6R487
Aleksandr
Kirill
Daniel
кстати, да
Aleksandr
Vladislav
Daniel
Daniel
вот это как раз через модули разруливается
Daniel
вооот
Artem
go get же с модулями неробит, или вы про абстрактный?
Daniel
раньше я мог любую либу на гитхабе взять и начать читать успешно
а теперь (я все еще не верю!) я должен ее сначала полюбить и изучить
Aleksandr
Go mod тоже ошибку выдаст, ведь не может скачать api/def из go.mod
Kirill
Aleksandr
А в го.мод он обязательно попадет если это другой модуль. Или не попадает если это подмодуль. И проблемы нет
Aleksandr
То есть в модуле pack1 мы можем импортировать модуль pack2, только если он установлен через go get
Daniel
слушай, я про чтение кода, а не про компилятор. компилятор разберется, я верю.
а вот для человека однозначность исчезла, если это все правда
Aleksandr
Go get вносит пакет в go.mod
Aleksandr
Daniel
редкий кейс - чтение чужого кода?!
Kirill
тогда понятно, почему разговор зашел в таком ракурсе
Aleksandr
Редкий кейс, когда в библиотеке импортирован локальный пакет, не устанавливающийся с гитхаба
Kirill
ждем пакеты вида "google/uuid"
Kirill
напомню, TLD у них такой есть
Daniel
Aleksandr
Aleksandr
Ведь и раньше были возможны такие импорты
Aleksandr
И го нет так же тебе выдаст ошибку
Daniel
разве?
раньше я на взгляд мог импорт стандартной либы отличить он самопала
Aleksandr
Kirill
Aleksandr
Ничего не изменилось. Ты просто впервые задумался об этой проблеме
.
Daniel
Aleksandr
Daniel
погоди
Daniel
вот человек пишет у себя import "api/def"
вот он выкатывает это на гитхаб
вот я его качаю и собираю
оно собирается?
Kirill
ты в итоге скачаешь подставной пакет
Daniel
там еще https есть
Aleksandr
Kirill
Aleksandr
Daniel
так собирается?
Aleksandr
до 1.11 мы могли создать в $GOPATH пакет api/def. Включить его в пакет github.com/user/mypack. go get в этом случае бы не отработал.
Теперь мы можем подобное провернуть с go mod, но go get опять же не отработает
Aleksandr
то есть ничего не изменилось. но в локальной разработке, не рассчитаной на паблик или установку с хостинга, мы можем импользовать подобные именования (как и раньше)
Daniel
а!
Daniel
полегчало, спасибо
Eugene
Здравствуйте, подскажите, я правильно понимаю, что у go build нет режимов оптимизации?
Daniel
правильно
Kirill
Kirill
Kirill
Daniel
Vladislav
Aleksandr
Aleksandr
или поясни вопрос
Daniel
а сейчас?
Aleksandr
так же
Aleksandr
добавить api/def в текущий модуль можно только через go get
Aleksandr
то есть api/def должен быть go gettable
Aleksandr
что кстати безопаснее чем раньше
Aleksandr
ведь раньше ты мог любой пакет ручками добавить из gopath
Aleksandr
а теперь только через go get