
Vlad ?
11.04.2018
05:40:37

Marlik
11.04.2018
05:41:06

Olzhas
11.04.2018
05:41:58

Google

Crypt
11.04.2018
05:43:46
Реакт фу)

Olzhas
11.04.2018
05:44:03

Crypt
11.04.2018
05:48:27
На нём топовый ЮИ не полностью тестируется, не понимаю вообще вот этого

Olzhas
11.04.2018
05:49:27
тесты для неуверенных

Vlad ?
11.04.2018
05:49:29

Marlik
11.04.2018
05:49:42

Vlad ?
11.04.2018
05:49:47

Crypt
11.04.2018
05:50:22
У меня пакет с gopkg.in - v4

Vlad ?
11.04.2018
05:50:46

Marlik
11.04.2018
05:51:56

Vlad ?
11.04.2018
05:52:12
?

Google

Marlik
11.04.2018
05:53:29
У меня пакет с gopkg.in - v4

Vlad ?
11.04.2018
05:59:31
Я ж говорю, я и стабильную 4 ставил и latest.

Marlik
11.04.2018
06:00:25
Поставь dep и не мучайся, оч помогает подтягивать зависимости.

Kirill
11.04.2018
06:01:45
деп мертв, забыли?

Crypt
11.04.2018
06:02:28

Marlik
11.04.2018
06:02:29
Я юзаю, мне нра, и он живой. И да голэнд активно его юзает сам.

Kirill
11.04.2018
06:03:00
в последней версии добавили это не очень активно)
гугл сказал что деп это не канон и будет другое решение

Marlik
11.04.2018
06:03:35

Artem
11.04.2018
06:23:16

Alexandr
11.04.2018
09:27:09
Добрый день, есть вопросы по этому заданию https://tour.golang.org/methods/18
как перевести тип данных type IPAddr [4]byte , значение которой например {127, 0, 0, 1} в string

Eldar
11.04.2018
09:29:24
как из мапы параметров такую цепочку сгенерить?
db.Where("name = ? AND age >= ?", "jinzhu", "22").Find(&users)

Александр
11.04.2018
09:30:23
db.Where("name = ? AND age >= ?", params...).Find(&users)
O_o
но я не уверен что прокатит

Eldar
11.04.2018
09:31:44
у меня name и age - это ключи, я их руками не пишу

Alex
11.04.2018
09:32:19

Eldar
11.04.2018
09:32:26
может есть возможность в горм как-то по-человечески данные достать, без этой лайк-пхп дичи?

Alexandr
11.04.2018
09:33:24

Eldar
11.04.2018
09:35:38
совет на мильон…

Zver
11.04.2018
09:35:58

Google

Eldar
11.04.2018
09:42:17
я не понимаю как мне в цикле параметры в метода вставить, они там через запятую

Alexander
11.04.2018
09:43:20
sliceName...

yuriy
11.04.2018
11:47:43
https://github.com/yyyar/gobetween
кто-то использовал в проде?

Aleksey
11.04.2018
12:19:29
Всем привет, можете подсказать, почему switch v.(type) не срабатывает case []interface{} на массив строк? Полный пример - https://play.golang.org/p/gcG8hqVb85E

Sergey
11.04.2018
12:21:43
Потому что массив строк != массиву интерфейсов
У них разное представление в памяти.

Aleksey
11.04.2018
12:22:51
Можно в общем случае определить то, что пришел массив и привести его к массиву пустых интерфейсов?

Sergey
11.04.2018
12:22:55
да
reflect.TypeOf()
сравнить с reflect.Array

Мария
11.04.2018
12:24:52
#вакансия #go #goland #backend #офис
Всем привет!
Сейчас мы хотели бы дополнить свою backend-команду еще одним Go-разработчиком.
В работе мы используем Go, Postgresql, MySQL, MongoDB, NSQ, Redis, NGINX, Docker, Git.
Доход обсуждается. Территориально - м. Павелецкая, Москва

Marlik
11.04.2018
12:25:24
#вакансия #go #goland #backend #офис
Всем привет!
Сейчас мы хотели бы дополнить свою backend-команду еще одним Go-разработчиком.
В работе мы используем Go, Postgresql, MySQL, MongoDB, NSQ, Redis, NGINX, Docker, Git.
Доход обсуждается. Территориально - м. Павелецкая, Москва
Тут то зачем, мы вас услышали в другом чате.))))

Мария
11.04.2018
12:26:05
у меня тут их куча ) а друг кто то еще откликнется ))

Aleksey
11.04.2018
12:26:15
Когда-то давным-давно преподаватели по Java в университете говорили, что reflection - это жутко непроизводительная вещь, понятно, что Java уже совсем другая, да и мы говорим о го, но на всякий случай спрошу, в высокопроизводительном коде безопасно использовать пакет reflect?

Sergey
11.04.2018
12:26:21
Ща позовем народ с другого чата. )

Александр
11.04.2018
12:26:27
просадка в 2-3 раза

Aleksey
11.04.2018
12:27:06
2-3 раза по сравнению со switch case?

Sergey
11.04.2018
12:27:14
Все зависит от, конечно, но в общем да, рефлект тормозит высокопроизводительность

Александр
11.04.2018
12:27:55
а вы для какой цели хотите рефлект?

Google

Alexey
11.04.2018
12:28:08
порефлексировать чтоб

Aleksey
11.04.2018
12:29:22
Ладно, тогда попробую с другого бока зайти, у меня такая задача:
В функцию приходит аргумент типа interface{}, если это массив, то нужно через запятую вывести все его элементы, будь то строки, числа или объекты.

Александр
11.04.2018
12:29:46
юзайте типосвичт

Sergey
11.04.2018
12:30:00
Ну да.

Aleksey
11.04.2018
12:30:01
https://play.golang.org/p/gcG8hqVb85E

Sergey
11.04.2018
12:30:07
case []string

Admin
ERROR: S client not available

Sergey
11.04.2018
12:30:18
case []int
case []interface{}

Aleksey
11.04.2018
12:30:57
У меня уже есть похожий код, но от работает только с числами:
switch v.(type) {
case int:
value = float64(v.(int))
case int8:
value = float64(v.(int8))
case int16:
value = float64(v.(int16))
case int32:
value = float64(v.(int32))
case int64:
value = float64(v.(int64))
case uint:
value = float64(v.(uint))
case uint8:
value = float64(v.(uint8))
case uint16:
value = float64(v.(uint16))
case uint32:
value = float64(v.(uint32))
case uint64:
value = float64(v.(uint64))
case float32:
value = float64(v.(float32))
case float64:
value = v.(float64)

Sergey
11.04.2018
12:31:15
осталось научить его работать со всем остальным. )

Aleksey
11.04.2018
12:31:16
Перечислить все типы вариант, но немного с душком
К тому же как работать со структурами

Александр
11.04.2018
12:31:54
вы более общую задачу скажите
что пытаетесь решить

Aleksey
11.04.2018
12:33:55
Более общая, это небольшой template engine, который получает на вход строку и map[string]interface, строка в виде “this is array - {{array}}”. И если я передам туда map…{“array”: [1, 2, 3]}, хочу, чтобы вернуло “this is array - 1, 2, 3”

Sergey
11.04.2018
12:35:51
А ключ - это прям тип?

Aleksey
11.04.2018
12:36:08
Под капотом я вставляю переменную в виде fmt.Sprintf(“%v”, v), но стандартный способ вывода массива - это [1 2 3]
Нет, ключ - это переменная
Может быть “this is my magic arrat - {{magicArray}}”

Google

Александр
11.04.2018
12:36:56
ууу

Aleksey
11.04.2018
12:36:59
{“magicArray”: [1, 2, 3]}

Александр
11.04.2018
12:37:09
не тут мы приплываем на рефлексию и привет семье
:)

Alexey
11.04.2018
12:37:20
я, может быть, очень глупый вопрос задам: почему не написать нормальный интерфейс, непустой, и методы к каждому типу? интерфейсы же для этого и задуманы. а тут огород какой-то получается.

Aleksey
11.04.2018
12:38:58
Что значит “нормальный” интерфейс? Это template engine в 10 строк, который используется для формотирования сообщений.
А обрастает логикой со скоростью react или vue

Александр
11.04.2018
12:39:31
для форматирования сообщений используйте sprintf :)

Aleksey
11.04.2018
12:40:29
Если бы sprintf позволял именнованное форматирование, у меня внешний словарь, который должен поддерживать локализацию

Sergey
11.04.2018
12:41:26
Трактуйте любой массив как []interface{}, переводите в цикле в string, ..., PROFIT!

Aleksey
11.04.2018
12:41:49
https://play.golang.org/p/gcG8hqVb85E

Alexey
11.04.2018
12:42:13

Aleksey
11.04.2018
12:42:55
У меня нет проблем, чтобы массив interface{} вывести в нужном виде, у меня проблема с приведением interface{} к []interface{}

Sergey
11.04.2018
12:44:06
v:=x.([]interface{})
Если x - это interface, да и массив к тому же.
даже, if v, ok := x.([]interface{}); ok {}

Aleksey
11.04.2018
12:49:19
С этого же и начали