
Marperia
01.10.2018
13:15:35

Denys
01.10.2018
13:15:37
надо стартапы пилить свои
но мне лень

Alexander
01.10.2018
13:15:57
если лень, значит - не надо

Google

Marperia
01.10.2018
13:16:19

David
01.10.2018
13:17:12
Братья гоферы, хороша ли официальная документация? И если нет - что лучше прочитать? Увидел это ”reply.([]byte)” и понял, что нужно почитать доку...

Daniel
01.10.2018
13:17:36
Хороша

Alexey
01.10.2018
13:17:37

Alexander
01.10.2018
13:17:43
Официальная документация - суперская!

Denys
01.10.2018
13:18:20
слышь ты, ты че гонишь на нашу оф документацию

David
01.10.2018
13:18:21
Спасибо!

Denys
01.10.2018
13:18:28
да я тебя

Tigran
01.10.2018
13:18:35

Marperia
01.10.2018
13:18:42

David
01.10.2018
13:18:55

Tigran
01.10.2018
13:19:04

Marperia
01.10.2018
13:19:17
Возвращает ошибку и что-то ещё, на случай невозможности приведения.

Google

David
01.10.2018
13:19:24

Daniel
01.10.2018
13:19:33

Alexander
01.10.2018
13:19:44
а вы говорите, параметрический полиморфизм в Go надо. Чтобы еще все усложнить, когда народ и так-то уже не все понимает...

Tigran
01.10.2018
13:20:28
Подозреваю, что c.Do() возвращает тебе interface{}

David
01.10.2018
13:20:32
Почему не просто как в плюсах, а через точку?

Daniel
01.10.2018
13:20:37

Tigran
01.10.2018
13:20:40
и ты предполагаешь, что положил туда []byte, и конвертируешь в []byte

Alexander
01.10.2018
13:20:59
в общем, похоже, что если выйдет Go 2, то его уже так не осилишь за пару дней с нуля... :(

Tigran
01.10.2018
13:21:10
в плюсах неудобный префиксный оператор

Daniel
01.10.2018
13:21:56
У нас, повторю, есть и как в плюсах тоже

David
01.10.2018
13:21:56

Tigran
01.10.2018
13:22:21

Daniel
01.10.2018
13:22:37
Такой - нет

Andrei
01.10.2018
13:38:41

Александр
01.10.2018
14:08:20
а кто-то еще оборачивал в респонз вызовы в хендлерах?
в отдельную структуру

Alexander
01.10.2018
14:10:31
(для тех, кто не понял, превожу вопрос гна нормальный язык: кто-то еще врапил респонс-колы в хендлерах?)

Александр
01.10.2018
14:11:30
*оборачивал в структуры, вызовы респонз в хендлерах ?
в тестах просто странно смотриться

Google

Александр
01.10.2018
14:12:58
у меня была безумная идея, в тестах вместо респонза специальную мок реализацию подсунуть
и там уже вызывать ошибки теста
но это "не прозрачно"
наверно придется тестировать уже "результат хендлера" в виде json

Roman
01.10.2018
14:18:09
Корригирую документ, описываю implicit casting и возникает вопрос, а нужен ли в таком случае вообще explicit casting?!
func ReturnConst() const []int {
return []int {1, 2, 3} // Implicit cast
}
var variable const []int = []int {1, 2, 3} // Implicit cast
func TakeConst(v const []int) { /*…*/ }
TakeConst([]int {1, 2, 3}) // Implicit cast
единственная ситуация где explicit cast может пригодиться это short variable declaration:
immutVec := const([]int {1, 2, 3})
// Or:
immutVec2 := const * const T (&T{})
но стоит ли это учитывать?

Alexander
01.10.2018
14:19:20
бНОПНЯ апперед :)

Roman
01.10.2018
14:19:33
или проще сказать: „хочешь иммутабелый? используй var declaration syntax“


Alexander
01.10.2018
14:20:16
Корригирую документ, описываю implicit casting и возникает вопрос, а нужен ли в таком случае вообще explicit casting?!
func ReturnConst() const []int {
return []int {1, 2, 3} // Implicit cast
}
var variable const []int = []int {1, 2, 3} // Implicit cast
func TakeConst(v const []int) { /*…*/ }
TakeConst([]int {1, 2, 3}) // Implicit cast
единственная ситуация где explicit cast может пригодиться это short variable declaration:
immutVec := const([]int {1, 2, 3})
// Or:
immutVec2 := const * const T (&T{})
но стоит ли это учитывать?
У меня уже давно какае-то чувство, что ты хочешь все усложнить... Это же все потом будет понять и забить в мозг так же сложно, как и плюсы... Не?
Изначально ведь авторы ориентировались на простую русскую девушку-первокурсницу с экономики, которой с какого-то перепуга вместо Pascal принялись преподавать Go. И у ей зачеты по нему еще не сдаты... Надо чтобы все было проще, иначе девушка просто не осилит и вылетит с института
:)


Roman
01.10.2018
14:27:48
У меня уже давно какае-то чувство, что ты хочешь все усложнить... Это же все потом будет понять и забить в мозг так же сложно, как и плюсы... Не?
нет, и я уже сотню раз наверное объяснил почему это не так ?
например, C как язык ещё проще чем Go, от этого на нём становится легче писать? Нет, потому-что он предоставляет разработчику или команде возможность очень легко выстрелить себе в ногу.
Immutable types это инструмент защиты от случайных выстрелов в ногу, которые даже сложно заметить, поскольку такие выстрели в основном проходят бесболезнено, пока не заметишь что нога вся в крови…
Mutable shared state is the root of all evil, especially in concurrent environments!

Alexander
01.10.2018
14:28:10
НЕ становится!

Alexander
01.10.2018
14:28:59
Я не против декларирования иммутабельности! Я просто за девушек будущего переживаю!

Roman
01.10.2018
14:29:40

Alexander
01.10.2018
14:30:05
первокурсница все сможет! :)

Roman
01.10.2018
14:30:59
шутки в сторону, иммутабельность особенно в Go - неизбежна для сохранения актуальности языка. Я не понимаю, почему мы опять поднимаем эту тему.
Корригирую документ, описываю implicit casting и возникает вопрос, а нужен ли в таком случае вообще explicit casting?!
func ReturnConst() const []int {
return []int {1, 2, 3} // Implicit cast
}
var variable const []int = []int {1, 2, 3} // Implicit cast
func TakeConst(v const []int) { /*…*/ }
TakeConst([]int {1, 2, 3}) // Implicit cast
единственная ситуация где explicit cast может пригодиться это short variable declaration:
immutVec := const([]int {1, 2, 3})
// Or:
immutVec2 := const * const T (&T{})
но стоит ли это учитывать?
меня больше интересует мнение группы по этому вопросу, если такое мнение имеется

Илья
01.10.2018
14:32:44
насколько я знаю Go, везде, кроме работы с безтиповым констами, все касты explicit

Alexander
01.10.2018
14:32:53
Хотя, наверное, любой искусственный язык по ходу его использования и изменения только усложняется... Ничего не поделаешь,...

Mykyta
01.10.2018
14:33:41

Google

Aleksandr
01.10.2018
14:35:38

Alexander
01.10.2018
14:35:41
ну, вроде, одно из того, что нельзя наывать, уже, кажется, будет :)

Roman
01.10.2018
14:35:46

Alexander
01.10.2018
14:36:21

Aleksandr
01.10.2018
14:37:51
я очень легко читаю, с юмором. Но тебе бы советовал в юмором завязать - он у тебя достаточно специфический и в массе своей несмешной

Admin
ERROR: S client not available

Roman
01.10.2018
14:37:56
я вроде в FAQ описал что иммут это одна из тех фич которые безболезненно реализовать в Go 1.x - реально, относительно других затей типа error handling и generics

Artem
01.10.2018
14:39:33

Mykyta
01.10.2018
14:40:02

Илья
01.10.2018
14:40:16

Roman
01.10.2018
14:40:46

Mykyta
01.10.2018
14:41:22

Artem
01.10.2018
14:41:44

Roman
01.10.2018
14:42:01

Artem
01.10.2018
14:42:19
и какие-нибудь линтеры могут просто не ожидать, что там придет что-то кроме ast.Ident

Roman
01.10.2018
14:42:25

Alexander
01.10.2018
14:43:14

Илья
01.10.2018
14:43:46
я плохо представляю, как именно это будет завезено (и может ли в принципе) скорее всего, флаг в type, для линтеров без явной поддержки вообще ничего не должно меняться

Artem
01.10.2018
14:44:53
эт ты к чему?

Google

Илья
01.10.2018
14:44:58
так const декларации уже завезли, просто +1 кейс

Artem
01.10.2018
14:45:18
ну вот именно что +1
а линтеры то много лет назад написаны

Илья
01.10.2018
14:48:31
я не думаю, что линтеры будут падать, но фолс реакции на const, конечно, будут

Artem
01.10.2018
15:02:14
В рамках противодействия свободному времени и желанию улучшить материал, дайте критику по https://habr.com/post/425025/ , заранее спасибо

Alexander
01.10.2018
15:06:57

Alexandr
01.10.2018
15:09:32
Добрый день, подскажите пожалуйста. Изучаю beego и возник вопрос, можно ли его использовать без использования orm, а писать чистый sql ?

Aleksandr
01.10.2018
15:10:47
можно

Alexander
01.10.2018
15:24:12
и нужно! ORM, обычно - это зло и просто какая-то подпорка для инвалидов, которым нужна база данных, но они не хотят знать, как ей пользоваться.

Alexandr
01.10.2018
15:25:44
Ок спасибо
А использование всяких фреймворков в go это не «подпорка»?

Aleksandr
01.10.2018
15:27:46
подпорка

Alexander
01.10.2018
15:28:51
Нет. Но что касается DB - ты просто в итоге напишешь свою ORM, которая отвечает твоим задачам. А может быть, просто SQL будешь аккуратно писать, может быть, не всегда руками... Просто надо понимать, что любое обобщение в этом деле - это всегда небесплатно
Ок спасибо
Тут Алексей Палащенко бывает, у него есть ORM общего пользования. Поговори с ним, кстати

Alexandr
01.10.2018
15:37:41

Mike
01.10.2018
15:45:14

Alexander
01.10.2018
15:45:58
мне автоматические миграции пока не интересны. Я руками все могу сделать, как и большинство пользователей, которые любят базы данных

Daniel
01.10.2018
15:48:05
атоматические миграции - это такое добро, что никакого зла не надо