
Roman
28.09.2018
13:47:49

snip
28.09.2018
13:49:44

Google

Roman
28.09.2018
13:49:57

Алексей
28.09.2018
13:50:14
Ну судя по черновику Go2, в гугле походу насобирали шишки, потанцевали на граблях и заставили менять язык, вводя фичи про которые раньше говорили, что "не нужны". Так что можно и иммутабельность запилить.

snip
28.09.2018
13:52:17
Откуда вот это "не нужны"?
13-й год, один иг го разработчиков предлагает пропозал про иммутабельности слайсы, это как пример позиции коретим
Где вы находите утверждения "не нужны"?

Roman
28.09.2018
13:52:22
Изменится в плане учебник от go 1.10 не даст понимания что это за херь и надо переучивать программиста
дайте мне по крайней мере возможность писать правильные библиотеки и правильно писать на Go проекты, без кодогенерации, boilerplate'а и лишних тормозов производительности))
меня учебники и тот факт что других надо переучивать мало волнует потому-что это необязательно, Go 1.x от этого не ломается, пиши как хочешь, но приятнее открывать для себя скорее новые возможности написания более качественного кода, нежели открывать для себя лимитации языка... вы со мной не согласны?)


snip
28.09.2018
14:00:28
Тут кто то предлагала для начала линтер и мне кажется с позиции практической полезности сейчас был бы хороший ход зпилить линтер и возможности метить передаваемые в ыункцию/метод аргументы как имутабельные, хотя бы даже каким нибудь кривым комментом типа //go:immut

Roman
28.09.2018
14:01:25
сравнения с другими пропосалами я описал насколько это было возможно по времени (помочь с review и описанием сравнений с другими пропосолами никто пока так и помог, хотя это бы очень приветствовалось)

Илья
28.09.2018
14:01:54

Roman
28.09.2018
14:04:10

Artem
28.09.2018
14:12:23

Yo
28.09.2018
14:12:48

Google

Roman
28.09.2018
14:14:42

Artem
28.09.2018
14:15:22
good one))
так что иммутабельность пока что дело десятое

snip
28.09.2018
14:16:58

Artem
28.09.2018
14:17:35

Roman
28.09.2018
14:18:43
набросай, если не сложно, сюда или в личку список предложений, которые нужно/можно просмотреть для сравнения
по возможности попробую
https://github.com/golang/go/issues/20443 проработан (но требует проверки)
https://github.com/romshark/Go-2-Proposal---Immutability#51-proposal-spec-add-read-only-slices-and-maps-as-function-arguments-20443
—-
https://github.com/golang/go/issues/22876 проработан (но требует проверки)
https://github.com/romshark/Go-2-Proposal---Immutability#52-proposal-go-2-read-only-types-22876
—-
https://github.com/golang/go/issues/23157 ещё не проработан (однако я уже сним ознакомился)
—-
https://groups.google.com/forum/#!topic/golang-nuts/BnjG3N77Ico это не оффициальный пропосал, но думаю его стоит рассмотреть и линкануть

snip
28.09.2018
14:18:57
Этот код нечитабелен, и про использование unsafe сказано достаточно

Artem
28.09.2018
14:19:49
зачем его тебе читать, это инлайн однострочник

Илья
28.09.2018
14:20:18

snip
28.09.2018
14:21:09

Artem
28.09.2018
14:22:17
где связь то?

snip
28.09.2018
14:23:20
Данный код работает корректно но не говэй и нет гарантий что он не поломается при новой версии го
Вот и вся связь

Artem
28.09.2018
14:25:38
ну первое, что такое go way? я знаю только про effective go, в котором только в 1 месте упоминается readable

snip
28.09.2018
14:27:04
Простота и читабельность
Есть ещё всякие факторы, но их немного

Artem
28.09.2018
14:28:01
а можешь цитату скинуть или доклад какой-нибудь, мне интересно откуда все эти мысли пошли

snip
28.09.2018
14:28:18
Есть выступление пайка почему го взлетел, вот там он примерно описывает как они это видят
А вообще про говей и различные моменты почему в го так а не иначе много достаточно выступлений пайка
Есть другие умные мужи пытающинся донести идеи го, но я не вспомню сейчас по памяти ссылок на доклады

Google

Artem
28.09.2018
14:30:58
почему так или иначе это одно, а почему такой код (которого полно в стдлиб) не go way, это другой вопрос

snip
28.09.2018
14:32:29
А на счёт стдлиб там есть нехороший код, сейчас меньше, было больше и был прям откровенный говнокод, но что это меняет?

Artem
28.09.2018
14:34:37
это какая-то двуличность, топим за одно, а делаем другое

Илья
28.09.2018
14:35:18

snip
28.09.2018
14:36:28

Mykyta
28.09.2018
14:39:05

Илья
28.09.2018
14:40:05
а то получается вот так
https://github.com/mailru/easyjson/blob/3fdea8d05856a0c8df22ed4bc71b3219245e4485/jlexer/bytestostr.go

David
28.09.2018
14:59:27
Подскажите, пожалуйста, как работать с import’ами, если использую приватный репозиторий и разрабатываю в докере?

Andrei
28.09.2018
15:01:41

David
28.09.2018
15:01:55
dep

Andrei
28.09.2018
15:02:33
dep
https://github.com/golang/dep/blob/master/docs/FAQ.md#how-do-i-get-dep-to-consume-private-git-repos-using-a-github-token

David
28.09.2018
15:03:38

Andrei
28.09.2018
15:04:21
с любым гит репозиторием

Илья
28.09.2018
15:19:08
dep
я просто руками указывал
[[override]]
name = "my_private_repo"
source = "ssh://git@my_private_repo.git"
branch = "master"
в Gopkg.lock
или constraint
тогда можно без токенов жить

Google

David
28.09.2018
15:22:35
Окей. Что если у меня есть приватный репозиторий с проектом, я хочу разрабатывать локально в докере и потом пушить в гит. Как подключать просто напросто соседние папки? Нужно подключаться все равно к приватному репозиторию?

Илья
28.09.2018
15:23:48

Alexey
28.09.2018
15:24:23
Ну, полетели: https://github.com/gosh-lang/gosh

David
28.09.2018
15:25:39

Alexander
28.09.2018
15:25:40
Го же сам по себе медленный, зачем на нем ещё интерпретатор другого языка писать?

Admin
ERROR: S client not available

Daniel
28.09.2018
15:25:58
в каком смысле go медленный?

Alexey
28.09.2018
15:26:07
Потому что скорость – не всё

Daniel
28.09.2018
15:26:28

Илья
28.09.2018
15:26:47

David
28.09.2018
15:27:16

Daniel
28.09.2018
15:27:36
вы чего хотите, собственно?

Илья
28.09.2018
15:27:45
вопросов по го я не вижу

David
28.09.2018
15:29:00
Я сделал реп для разработки, но проблема была, что пакеты было не понятно как подключать. Оказывается всегда нужно будет комитить в репозиторий, чтобы мог нормально писать код
Неужели нельзя настроить absolute path на root проекта и подключать от туда пакеты?

Artem
28.09.2018
15:32:23
просто не нужно кодить в докере
блин. а мб тот слитый код аэрофлота на самом деле чья-то иде, парень просто кодил в докере?

Илья
28.09.2018
15:37:38

Google

Roman
28.09.2018
15:48:35
Я переписал пункт 1.1.1. для лучшего понимания проблемы:
https://github.com/romshark/Go-2-Proposal---Immutability#111-ambiguous-code-and-dangerous-bugs

Daniel
28.09.2018
15:49:30

F01134H
28.09.2018
16:00:26
Ребяты, есть return type у функции:*typeName, как мне конструкцию
execParams := getSpecParams()
return &execParams
упростить?
ну типо в одну строку сделать без лишней переменной

Andrei
28.09.2018
16:06:11
вроде можно сделать
return &(getSpecParams())

Илья
28.09.2018
16:06:33
нельзя
можно сделать функцию обертку, которая вернт typeName

Andrei
28.09.2018
16:06:52
ну значит нельзя, это go way, страдай

anatolii
28.09.2018
16:24:40

Никита
28.09.2018
19:35:22
Подскажите, в чем проблема? Структура имплементирует интерфейс, но при передачи ее в функцию которая принимает параметром этот интерефейс, выдает что нельзя так
Если передать не просто db, а указатель &db, то все ок
Почему так?

Aleksandr
28.09.2018
19:38:11
Все верно, надо указатель передавать, если в сигнатуре интерфейс

Roman
28.09.2018
19:40:43