Size: a a a

2020 October 11

L

Leroy in Go-go!
Mr Ash
Здравствуйте, подскажите пожалуйста хорошие книги по Го, нашел некоторые, но хотелось бы услышать опытных людей
источник

АФ

Алишер Фозилов... in Go-go!
Алишер Фозилов
Если бы в Go можно было писать вместо:

​request​, ​err​ ​:=​ ​http​.​NewRequest​(​http​.​MethodGet​, ​"http://example.com"​, ​nil​)
                ​if​ ​err​ ​!=​ ​nil​ {
                        ​log​.​Println​(​err​)
                        ​return​
                }
                ​_​ ​=​ ​request


так:

​request​, ​err​ ​:=​ ​http​.​NewRequest​(​http​.​MethodGet​, ​"http://example.com"​, ​nil​) {
                        ​log​.​Println​(​err​)
                        ​return​
                }
                ​_​ ​=​ ​request


стало бы лучше или хуже?
Интересно ваше мнение
Здесь конкретно подразумевается, что последнее возвращаемое значении функции проверяется на != nil. (Вопрос в том, какой там тип данных может быть пока определён: должен ли это быть только интерфейс error? может любой интерфейс? или любой тип, нулевое значение которого nil?)
источник

L

Leroy in Go-go!
Прекрасный ресурс, дает твердые основы, по краше го тура будет
источник

VS

Vladimir Smirnov in Go-go!
Алишер Фозилов
Здесь конкретно подразумевается, что последнее возвращаемое значении функции проверяется на != nil. (Вопрос в том, какой там тип данных может быть пока определён: должен ли это быть только интерфейс error? может любой интерфейс? или любой тип, нулевое значение которого nil?)
А чем это сильно лучше текущего?
источник

VS

Vladimir Smirnov in Go-go!
Тем что нет '\nif err != nil'?
источник

VS

Vladimir Smirnov in Go-go!
Такая себе экономия
источник

АФ

Алишер Фозилов... in Go-go!
Минус одна строка почти после каждого вызова функции. Учитывая то, что это происходит везде по коду, возможно данная экономия не такая несущественная, как может показаться на первый взгляд.
источник

AK

Anton Kucherov in Go-go!
Алишер Фозилов
Минус одна строка почти после каждого вызова функции. Учитывая то, что это происходит везде по коду, возможно данная экономия не такая несущественная, как может показаться на первый взгляд.
Экономия на строках ради экономии на строках, по определению вещь несущественная. Код пишется людьми для людей. Компилятору все равно на кол-во строк он их и так скомпилирует. А для людей как по мне читаемость кода важнее кол-ва строк. Если покопаться причина таких введений всегда одна и та же: "Ну мне лень". Если лень, автоматизируй. Другим не лень. 🤷‍♂️
источник

AK

Anton Kucherov in Go-go!
Очень показательный пример, тернарный оператор. https://i.imgur.com/SsXMu4X.png
источник

SM

Sherali Mirzoavliyoe... in Go-go!
Anton Kucherov
Очень показательный пример, тернарный оператор. https://i.imgur.com/SsXMu4X.png
😄😄😄
источник

s

sexst in Go-go!
Anton Kucherov
Экономия на строках ради экономии на строках, по определению вещь несущественная. Код пишется людьми для людей. Компилятору все равно на кол-во строк он их и так скомпилирует. А для людей как по мне читаемость кода важнее кол-ва строк. Если покопаться причина таких введений всегда одна и та же: "Ну мне лень". Если лень, автоматизируй. Другим не лень. 🤷‍♂️
Так автоматизировать тоже лень, очевидно же
источник

AK

Anton Kucherov in Go-go!
sexst
Так автоматизировать тоже лень, очевидно же
Мне кажется это проще чем протолкнуть в язык 3-тий способ писать if err != nil еще и такой неочевидный. Хотя я конечно могу ошибаться.
источник

s

sexst in Go-go!
Anton Kucherov
Мне кажется это проще чем протолкнуть в язык 3-тий способ писать if err != nil еще и такой неочевидный. Хотя я конечно могу ошибаться.
Да, но людям лень строку писать, а тут автоматизацию писать предлагается)
источник

АФ

Алишер Фозилов... in Go-go!
golang org/conduct
источник

АФ

Алишер Фозилов... in Go-go!
вам стоит ознакомиться
источник

АФ

Алишер Фозилов... in Go-go!
Anton Kucherov
Очень показательный пример, тернарный оператор. https://i.imgur.com/SsXMu4X.png
с конструкцией, которая описана выше такой хаос невозможен
источник

АФ

Алишер Фозилов... in Go-go!
Anton Kucherov
Экономия на строках ради экономии на строках, по определению вещь несущественная. Код пишется людьми для людей. Компилятору все равно на кол-во строк он их и так скомпилирует. А для людей как по мне читаемость кода важнее кол-ва строк. Если покопаться причина таких введений всегда одна и та же: "Ну мне лень". Если лень, автоматизируй. Другим не лень. 🤷‍♂️
> Экономия на строках ради экономии на строках
Нет, экономия ради того, чтоб меньше печатать, и читать более чистый код. Чистый от повсеместного "if err != nil"

> Код пишется людьми для людей.
Да, это так
> Компилятору все равно на кол-во строк он их и так скомпилирует.
Про компилятор речь не шла.
источник

VS

Vladimir Smirnov in Go-go!
Алишер Фозилов
Минус одна строка почти после каждого вызова функции. Учитывая то, что это происходит везде по коду, возможно данная экономия не такая несущественная, как может показаться на первый взгляд.
Проблема в том, что такие вещи автоматизирует ide
источник

VS

Vladimir Smirnov in Go-go!
И нормально вставляет ифы если надо
источник

АФ

Алишер Фозилов... in Go-go!
автоматизирует написание, но читает код человек. Код раздувается в два раза из-за повсеместно встречаемой строки
источник