
Алексей
15.06.2018
09:45:48
Вот я почти уверен, что рано или поздно введут.

Pawel
15.06.2018
09:46:17
шизофреников прям корёжит без дженериков. Уже по одной этой причине они не нужны - чтобы позлить идиотов

Artem
15.06.2018
09:47:07

Jentry
15.06.2018
09:47:18

Google

Алексей
15.06.2018
09:50:05

Pawel
15.06.2018
09:52:19
Ну да, это ж я тут регулярно поднимаю эту идиотскую тему по переливу из пустого в порожнее.
Кароч, администрация, пресеките нахер эту бесовщину банхамером. Ибо достало

Мерлин
15.06.2018
09:52:52

Виктор
15.06.2018
10:15:03
Хотя даже для инициализации - да было бы полезно иметь возможность ими пользоваться. Но сами дженерики пока мне не были нужны
За уже долгое время в го

Алексей
15.06.2018
10:16:03

Jentry
15.06.2018
10:16:37

Виктор
15.06.2018
10:17:01
Это не обощеные функции и типы там нет никаких проверок и т.д. Это просто встроенные стандартные функции типа хардкода. Так даже в Делфи было(когда в нем еще не было дженериков)
Здрасте, это дженерики называлось еще с утра
Не совсем. Дженерики это все обобщеное программирование. Да это близко и похоже но не полностью. С дженериками также идут проверки типов и операций с ними ну и все дела во время компиляции. тут же просто заполняется шаблон функции и все

Jentry
15.06.2018
10:17:58
То есть как это нет?

Мерлин
15.06.2018
10:19:00

Jentry
15.06.2018
10:19:58

Google

Jentry
15.06.2018
10:20:47
Обобщенное программирование, ты точно не путаешь с шаблонами в c++ и stl?

Виктор
15.06.2018
10:23:21
Нет не путаю. Не поймите неправильно я не собираюсь вступать в священыне войны. Я только хотел указать на то что здесь грубо(очень) разворачивается сниппет/шаблон и все. Это просто библиотечный заполнитель сахарный и все. Там по сути больше ничего и не делается


Анастасия
15.06.2018
10:24:33
#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


Jentry
15.06.2018
10:24:44
Так тебе нужно прочитать определение generic, только и всего, в них ничего больше и не должно делаться, более того в java их даже нет на уровне jvm, они в самом деле - object, но компилятор проверяет типы

Виктор
15.06.2018
10:28:43
Да я знаю что такое дженерики :) Я с ними работал в разных языках и понимаю их полезность в них :)

Vladislav
15.06.2018
10:36:14
https://dave.cheney.net/2018/05/29/how-the-go-runtime-implements-maps-efficiently-without-generics
Как бы внешне оно может и дженерики.

Виктор
15.06.2018
10:44:35
Ну вот как-то так да. Спасибо за информацию кстати :)

Jentry
15.06.2018
10:50:36
Есть еще такое, кстати, вполне могло бы использоваться вместо unsafe.Pointer https://github.com/google/syzkaller/blob/master/prog/types.go#L64

Andrey
15.06.2018
10:55:27
Вопрос, а в Го не такого метода .map() или какой-то обертки?
Мне вот несколько методов нужно вызывать, и результат передать следующему методу. Сейчас приходится промежуточную переменную для этого создать.

V
15.06.2018
10:56:34
spread?

Мерлин
15.06.2018
11:01:32

Aliaksandr
15.06.2018
11:01:35

Мерлин
15.06.2018
11:02:15

Aliaksandr
15.06.2018
11:02:35
что проще в отладке - foo(bar(baz(x))) или
a := baz(x)
b := bar(a)
c := foo(b)
хорошая статья по оптимизации кода на го - https://medium.com/@val_deleplace/go-code-refactoring-the-23x-performance-hunt-156746b522f7

Kendr
15.06.2018
11:08:00

Andrey
15.06.2018
11:33:43
меня вообще тот .map инетесует, который берет результат и передает его в аргумент другого метода.
Не тот, который for range делает.

Google

Pawel
15.06.2018
11:51:05
что значит валидные имена? a b c отлично подходят

Dmitry
15.06.2018
11:51:47

Andrey
15.06.2018
12:33:11

Maksim (Ellrion)
15.06.2018
12:35:00
есть функция которая делает http запросы с кодом resp, err := client....., потом соответственно при отсутсвии ошибок читается resp.Body
должен ли я делать в коде defer resp.Body.Close() ?

Aleksandr
15.06.2018
12:38:44
если ошибок запроса нет, то должен
if err != nil {
return err
}
defer resp.Body.Close()

Maksim (Ellrion)
15.06.2018
12:40:57
ну про проверку ошибок до дефера само собой.
просто как то странно что я должен заботиться о закрытии боди

Aleksandr
15.06.2018
12:41:31
почему?

Maksim (Ellrion)
15.06.2018
12:42:58
ну потому что я явно ничего не открывал. например если я вообще бы только чекнул статус ответа, или хедер какой. то боди от меня по сути скрыто и я и не в курсе что мне что то закрыть надо

Pawel
15.06.2018
12:49:29

Kirill
15.06.2018
13:18:50
Народ, поддержите реквест плиз https://github.com/swaggo/swag/issues/151

Kirill
15.06.2018
13:20:14
Спасибо :з

Lesha
15.06.2018
13:48:39
Привет! Возник вопрос, как померить сколько в памяти весит map в байтах?
Или так незя и нужно замерять сколько памяти выделено до создания мабы и после заполнения через runtime.MemStats?

Мерлин
15.06.2018
13:49:35

Алексей
15.06.2018
13:50:10

Lesha
15.06.2018
13:50:43
А подскажите, можно ли в одну переменную uint64 запихнуть два значения uint32 через сдвиг, а потом их прочитать?

Google

Lesha
15.06.2018
14:14:02
и как

Daniel
15.06.2018
14:22:08

Admin
ERROR: S client not available

Michael
15.06.2018
14:32:41

15.06.2018
17:10:26
Блин
Не работала библиотека с гитхаба
Весь день с ней провозился безрезультатно
Щас с нуля ее поставил и заработала
Я **** эту *

Zae
15.06.2018
17:12:43
злой

15.06.2018
17:12:57
У меня бомбит

Mikalai
15.06.2018
17:29:34
Привет, нуждаюсь в помощи
Имею строго заданный 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
15.06.2018
17:34:14
выглядит ок. на плейграунде воспроизведи

Mikalai
15.06.2018
17:42:04
но как там post передавать?

Aleksandr
15.06.2018
17:43:54
раз body правильно выводит


Kaspar
15.06.2018
17:46:21
Привет, нуждаюсь в помощи
Имею строго заданный 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"
fmt.Println("%+v", m)


Mikalai
15.06.2018
17:51:23
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}'

Google

Kirill
15.06.2018
17:54:14

Mike
15.06.2018
17:54:56

Kirill
15.06.2018
17:55:34
Чё
А оно не придет само по себе в кавычках?
Если придёт - strings.Unquote

Mike
15.06.2018
17:56:27
' я строка с " кавычкой ', " я строка с \" кавычкой"
Это разница между курлыками
Единственная
Но вроде результат один должен быть

Kirill
15.06.2018
17:57:36
А значит оно может приходить само по себе в кавычках