Алексей
Вот я почти уверен, что рано или поздно введут.
Pawel
шизофреников прям корёжит без дженериков. Уже по одной этой причине они не нужны - чтобы позлить идиотов
Je
Алексей
Pawel
Ну да, это ж я тут регулярно поднимаю эту идиотскую тему по переливу из пустого в порожнее.
Кароч, администрация, пресеките нахер эту бесовщину банхамером. Ибо достало
Мерль
Васильев Виктор
Васильев Виктор
Хотя даже для инициализации - да было бы полезно иметь возможность ими пользоваться. Но сами дженерики пока мне не были нужны
Васильев Виктор
За уже долгое время в го
Je
Васильев Виктор
Это не обощеные функции и типы там нет никаких проверок и т.д. Это просто встроенные стандартные функции типа хардкода. Так даже в Делфи было(когда в нем еще не было дженериков)
Васильев Виктор
Здрасте, это дженерики называлось еще с утра
Не совсем. Дженерики это все обобщеное программирование. Да это близко и похоже но не полностью. С дженериками также идут проверки типов и операций с ними ну и все дела во время компиляции. тут же просто заполняется шаблон функции и все
Je
То есть как это нет?
Мерль
Je
Je
Обобщенное программирование, ты точно не путаешь с шаблонами в c++ и stl?
Васильев Виктор
Нет не путаю. Не поймите неправильно я не собираюсь вступать в священыне войны. Я только хотел указать на то что здесь грубо(очень) разворачивается сниппет/шаблон и все. Это просто библиотечный заполнитель сахарный и все. Там по сути больше ничего и не делается
Анастасия
#hr #вакансия #golang #Go #Москва #backend #blockchain
📌Xena Exchange - профессиональная торговая платформа для профессиональных трейдеров и институциональных инвесторов.
❗️❗️❗️Находимся в поисках: Middle Golang Developer
Ты – наш идеальный кандидат, если:
- имеешь опыт Golang от 1 года;
- понимаешь архитектуры высоконагруженных проектов;
- имеешь опыт работы с middleware - PostgreSQL, RabbitMQ, Redis.
Ты еще более идеален, если:
- знаешь DevOps, Docker, Kubernetes;
- имеешь знания и опыт в сфере machine learning, AI;
- знаешь Bash, Python;
- имеешь опыт работы с финансовыми технологиями (торговые платформы, финансовые рынки).
Твои задачи:
- Дизайн архитектуры и разработка продукта с соблюдением баланса скорости и качества, высокой степенью самостоятельности принятия решений.ц
- Развитие и поддержка инфраструктуры разработки и тестирования
Мы предлагаем:
- Интересные задачи: создание торговой платформы в передовой отрасли, возможность применить и прокачать скилы в создании высоконагруженных сервисов, обработке больших данных, AI;
- Драйвовый коллектив единомышленников, современный технологический стек, отсутствие бюрократии, широкий простор для творчества и роста;
- Щедрое вознаграждение за качественную работу + % после реализации;
- Офис в центре Москвы;
- Возможность самостоятельно выбрать технику для работы.
зарплатная вилка обсуждаема, от 170к до 240к 💸
За подробной инфой го в личку @anastaysha163
Je
Так тебе нужно прочитать определение generic, только и всего, в них ничего больше и не должно делаться, более того в java их даже нет на уровне jvm, они в самом деле - object, но компилятор проверяет типы
Васильев Виктор
Да я знаю что такое дженерики :) Я с ними работал в разных языках и понимаю их полезность в них :)
Vladislav
https://dave.cheney.net/2018/05/29/how-the-go-runtime-implements-maps-efficiently-without-generics
Vladislav
Как бы внешне оно может и дженерики.
Васильев Виктор
Ну вот как-то так да. Спасибо за информацию кстати :)
Je
Есть еще такое, кстати, вполне могло бы использоваться вместо unsafe.Pointer https://github.com/google/syzkaller/blob/master/prog/types.go#L64
Andrey
Вопрос, а в Го не такого метода .map() или какой-то обертки?
Мне вот несколько методов нужно вызывать, и результат передать следующему методу. Сейчас приходится промежуточную переменную для этого создать.
V
spread?
Мерль
Мерль
Aliaksandr
что проще в отладке - foo(bar(baz(x))) или
a := baz(x)
b := bar(a)
c := foo(b)
Aliaksandr
хорошая статья по оптимизации кода на го - https://medium.com/@val_deleplace/go-code-refactoring-the-23x-performance-hunt-156746b522f7
Anonymous
Andrey
Andrey
меня вообще тот .map инетесует, который берет результат и передает его в аргумент другого метода.
Не тот, который for range делает.
Pawel
что значит валидные имена? a b c отлично подходят
Dmitry
Maksim (Ellrion)
есть функция которая делает http запросы с кодом resp, err := client....., потом соответственно при отсутсвии ошибок читается resp.Body
должен ли я делать в коде defer resp.Body.Close() ?
Aleksandr
если ошибок запроса нет, то должен
Aleksandr
if err != nil {
return err
}
defer resp.Body.Close()
Maksim (Ellrion)
ну про проверку ошибок до дефера само собой.
просто как то странно что я должен заботиться о закрытии боди
Aleksandr
почему?
Maksim (Ellrion)
ну потому что я явно ничего не открывал. например если я вообще бы только чекнул статус ответа, или хедер какой. то боди от меня по сути скрыто и я и не в курсе что мне что то закрыть надо
Pawel
Kirill
Народ, поддержите реквест плиз https://github.com/swaggo/swag/issues/151
Kirill
Kirill
Спасибо :з
L
Привет! Возник вопрос, как померить сколько в памяти весит map в байтах?
L
Или так незя и нужно замерять сколько памяти выделено до создания мабы и после заполнения через runtime.MemStats?
Мерль
Алексей
L
L
А подскажите, можно ли в одну переменную uint64 запихнуть два значения uint32 через сдвиг, а потом их прочитать?
L
и как
Daniel
Michael
Anonymous
Блин
Anonymous
Не работала библиотека с гитхаба
Anonymous
Весь день с ней провозился безрезультатно
Anonymous
Щас с нуля ее поставил и заработала
Anonymous
Я **** эту *
Władimir (Zae)
злой
Anonymous
Anonymous
У меня бомбит
Anonymous
Nicholas
Привет, нуждаюсь в помощи
Имею строго заданный POST запрос
curl -X POST localhost:8080/api/message -d '{"email":"name@example.com","title":"Interview","content":"simple text","magic_number":101}'пробую его передать в структуру, но ничего не выходит
type Mail struct {
Mail string `json:"email"`
Title string `json:"title"`
Content string `json:"content"`
MagicNumber int `json:"magic_number"`
}
func ApiMessage(w http.ResponseWriter, r *http.Request) {
body, err := ioutil.ReadAll(r.Body)
if err != nil {
log.Println(err)
http.Error(w, "Error reading request body", http.StatusInternalServerError)
return
}
//log.Println(string(body))
var m Mail
json.Unmarshal(body, &m)
/*json.NewDecoder(r.Body).Decode(&m)*/
fmt.Println("-> ", m)
}log.Println(string(body))
дает
2018/06/15 19:26:21 '{email:name@example.com,title:Interview,content:simple text,magic_number:101}'а вот m
-> { 0}, где 0 - это MagicNumber int
Aleksandr
выглядит ок. на плейграунде воспроизведи
Nicholas
но как там post передавать?
Aleksandr
раз body правильно выводит
kås
Привет, нуждаюсь в помощи
Имею строго заданный POST запрос
curl -X POST localhost:8080/api/message -d '{"email":"name@example.com","title":"Interview","content":"simple text","magic_number":101}'пробую его передать в структуру, но ничего не выходит
type Mail struct {
Mail string `json:"email"`
Title string `json:"title"`
Content string `json:"content"`
MagicNumber int `json:"magic_number"`
}
func ApiMessage(w http.ResponseWriter, r *http.Request) {
body, err := ioutil.ReadAll(r.Body)
if err != nil {
log.Println(err)
http.Error(w, "Error reading request body", http.StatusInternalServerError)
return
}
//log.Println(string(body))
var m Mail
json.Unmarshal(body, &m)
/*json.NewDecoder(r.Body).Decode(&m)*/
fmt.Println("-> ", m)
}log.Println(string(body))
дает
2018/06/15 19:26:21 '{email:name@example.com,title:Interview,content:simple text,magic_number:101}'а вот m
-> { 0}, где 0 - это MagicNumber int
-H "Content-Type: application/json"
kås
fmt.Println("%+v", m)
Nicholas
curl -X POST localhost:8080/api/message -d "{\"email\":\"name@example.com\",\"title\":\"Interview 3\",\"content\":\"simple text 3\",\"magic_number\":101}"обрабатвает как нужно, но заказчик требует
curl -X POST localhost:8080/api/message -d '{"email":"name@example.com","title":"Interview","content":"simple text","magic_number":101}'
Kirill
Mike
Kirill
Чё