@proGO

Страница 1360 из 1674
Vlad ?
11.04.2018
05:40:37
А может быть такое что такого в структуре поля нет, проверь.
Поле есть: type Message struct { MessageID int json:"message_id" From *User json:"from" // optional Date int json:"date" ... ...Bla bla bla... ... NewChatMembers *[]User json:"new_chat_members" // optional }

Какая версия? В коде вроде есть поле-то
Последняя версия, до этого стабильная, но проблема та же.

Olzhas
11.04.2018
05:41:58
vue не православно, но конечно если нужна работа то и ангуляр нужен и ещё там кучка всего... за знание реакта оч хорошо плотют.
сейчас пишу на реакте, так как на работе подъехал проект на реакте - раньше я страдал, когда писал на жс, сейчас жс кажется отличным языком, а реакт я стал ненавидеть. Когда писал фронт на вью, мне не нравился только жс

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
Ну так что?
update.Message.NewChatMembers

Vlad ?
11.04.2018
05:49:47
Какая версия? В коде вроде есть поле-то
Так в чём может быть проблема?

update.Message.NewChatMembers
update.Message.NewChatMembers undefined (type *tgbotapi.Message has no field or method NewChatMembers)

Crypt
11.04.2018
05:50:22
Так в чём может быть проблема?
Не знаю. У меня ок собирается, видит это поле

У меня пакет с gopkg.in - v4

Vlad ?
11.04.2018
05:50:46
Не знаю. У меня ок собирается, видит это поле
Можно полный код работающего хэллоуворлда в лс?

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
в последней версии добавили это не очень активно) гугл сказал что деп это не канон и будет другое решение

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 - это ключи, я их руками не пишу

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

Alexandr
11.04.2018
09:33:24
func (i IPAddr) String() { return fmt.Sprintf("%d.%d.%d.%d", i[0], i[1], i[2], i[3]) }
оо, об этом я не подумал, спасибо

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. Доход обсуждается. Территориально - м. Павелецкая, Москва

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

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

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

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
Что значит “нормальный” интерфейс? Это template engine в 10 строк, который используется для формотирования сообщений.
я имею в виду переписать фунцию так, чтобы она принимала на вход непустой интерфейс и пользоваться внутри методами типов, оторые будут реализованы для каждого типа, который может попасть в эту функцию

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
С этого же и начали

Страница 1360 из 1674