Size: a a a

Golang Developers — русскоговорящее сообщество

2020 August 05

А

Анатолий in Golang Developers — русскоговорящее сообщество
x-foby
Почему это?
Ну мейк ведь ссылку возвращает? Разница лишь в указании длины если нужно
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Анатолий
Ну мейк ведь ссылку возвращает? Разница лишь в указании длины если нужно
Это new ссылку возвращает)
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
Да, чет я заврался )
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Всякое бывает)
источник

MB

Max Block in Golang Developers — русскоговорящее сообщество
Скажите, а можно ли как-то []interface{} преобразовать в []string без использования range?
Может быть есть какие-то библиотеки популярные, которые делают такое?

func (s *LogService) Groups() ([]string, error) {
res, err := s.col.Distinct(context.Background(), "group", bson.M{})
if err != nil {
 return nil, err
}
result := make([]string, len(res))
for _, v := range res {
 result = append(result, v.(string))
}
return result, nil
}


Понятно что написать это самому не сложно, но может быть есть какая-то в Го библиотека популярная, что-то типа underscore.js или Lodash, которые в JS мире пользуют очень активно?

P.S. в данном примере res это []interface{}
источник

LG

Lainera Giovanni in Golang Developers — русскоговорящее сообщество
Max Block
Скажите, а можно ли как-то []interface{} преобразовать в []string без использования range?
Может быть есть какие-то библиотеки популярные, которые делают такое?

func (s *LogService) Groups() ([]string, error) {
res, err := s.col.Distinct(context.Background(), "group", bson.M{})
if err != nil {
 return nil, err
}
result := make([]string, len(res))
for _, v := range res {
 result = append(result, v.(string))
}
return result, nil
}


Понятно что написать это самому не сложно, но может быть есть какая-то в Го библиотека популярная, что-то типа underscore.js или Lodash, которые в JS мире пользуют очень активно?

P.S. в данном примере res это []interface{}
для генерик библиотек типа лодаша либо язык динамический должен быть, либо генерики должны завезти. Смешная третья опция - писать ручками
источник

C

Calculon🤖 in Golang Developers — русскоговорящее сообщество
Lainera Giovanni
для генерик библиотек типа лодаша либо язык динамический должен быть, либо генерики должны завезти. Смешная третья опция - писать ручками
четвёртая опция кодген
источник

C

Calculon🤖 in Golang Developers — русскоговорящее сообщество
Хотя под такую задачу это оверкил
источник

LG

Lainera Giovanni in Golang Developers — русскоговорящее сообщество
Calculon🤖
четвёртая опция кодген
да, макросы тоже вариант, правда я хз как у го с этим дело обстоит.
источник

C

Calculon🤖 in Golang Developers — русскоговорящее сообщество
Lainera Giovanni
да, макросы тоже вариант, правда я хз как у го с этим дело обстоит.
макросы это не кодген
источник

C

Calculon🤖 in Golang Developers — русскоговорящее сообщество
в го нет макросов
источник

LG

Lainera Giovanni in Golang Developers — русскоговорящее сообщество
Calculon🤖
макросы это не кодген
а что же это?
компайлер читает макрос и разворачивает в код который пришлось бы писать ручками.
источник

C

Calculon🤖 in Golang Developers — русскоговорящее сообщество
Lainera Giovanni
а что же это?
компайлер читает макрос и разворачивает в код который пришлось бы писать ручками.
у нас за кодген отвечают тулы
источник

C

Calculon🤖 in Golang Developers — русскоговорящее сообщество
Calculon🤖
у нас за кодген отвечают тулы
тулы пишутся работягами
источник

MB

Max Block in Golang Developers — русскоговорящее сообщество
Какая же у меня ломка идет, писать на Го :( После Kotlin, TypeScript и Python -- это прям муки.

Но правда же то, что Го самый лучший язык в плане чтения чужого кода? Я пока изучаю Го и стек библиотек для веба, поглядываю в исходники. Возможно мне так везет, но пока мне попадаются такие места в чужих библиотеках, где мне пока все понятно.

Читаемость чужого кода — единственная для меня полезная штука в Го. Но вдруг я придумал это себе, и на Го тоже все не радостно в этом плане. Как у вас с опытом чтения чужого кода на Го? Особенно по сравнению с другими языками.
источник

LG

Lainera Giovanni in Golang Developers — русскоговорящее сообщество
Max Block
Какая же у меня ломка идет, писать на Го :( После Kotlin, TypeScript и Python -- это прям муки.

Но правда же то, что Го самый лучший язык в плане чтения чужого кода? Я пока изучаю Го и стек библиотек для веба, поглядываю в исходники. Возможно мне так везет, но пока мне попадаются такие места в чужих библиотеках, где мне пока все понятно.

Читаемость чужого кода — единственная для меня полезная штука в Го. Но вдруг я придумал это себе, и на Го тоже все не радостно в этом плане. Как у вас с опытом чтения чужого кода на Го? Особенно по сравнению с другими языками.
вкусовщина. мне идиоматичный раст приятнее всего читать, сразу видно что и к чему.
источник

MB

Max Block in Golang Developers — русскоговорящее сообщество
Lainera Giovanni
вкусовщина. мне идиоматичный раст приятнее всего читать, сразу видно что и к чему.
Хм. Никогда Раст не трогал, но почему-то всегда считал, что на нем читаемость не очень.

Вы считаете, что рандомный проект на Раст будет проще прочесть чем рандомный проект на Го?

Идиоматичность кода — это может оказаться все очень субъективно. И у меня логика такая, что чем меньше фич у языка, тем реже встретишь там что-то непонятное. К примеру на Scala самому писать приятно, а вот читать чужой код — вот совсем не хочется.
источник