Size: a a a

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

2020 October 06

M

Michael in Golang Developers — русскоговорящее сообщество
а если кастовать в такой форме, то паники не будет
источник

IM

Ilya Martysyuk in Golang Developers — русскоговорящее сообщество
Michael
'''
t, ok := i.(T)
'''
T - это тип данных? Но вот вопрос, как мне понять какой тип в map у ключа и значения…
получаю через reflect.TypeOf, но он крашится потом говоря что reflect.Type это не type… :)
источник

IM

Ilya Martysyuk in Golang Developers — русскоговорящее сообщество
Сделал вот так, но крашится ругаясь на то, что данные в where другого типа map[int64]string… и проблема в том, что я не знаю какого типа прилетит map...
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Ilya Martysyuk
Сделал вот так, но крашится ругаясь на то, что данные в where другого типа map[int64]string… и проблема в том, что я не знаю какого типа прилетит map...
источник

IM

Ilya Martysyuk in Golang Developers — русскоговорящее сообщество
Спасибо. Но немного не то.
Если входным параметром я туда передам map[string]interface{} то уже все падает..
https://play.golang.org/p/3602SmLD-fc
источник

IM

Ilya Martysyuk in Golang Developers — русскоговорящее сообщество
Сделал совершенно по глупому, тупо получил тип ключа и значений карты, и дальше через if по соответсвующим условиям понаделал циклов.
Поулчилось длинно и не красиво, но работает )))
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Ilya Martysyuk
Спасибо. Но немного не то.
Если входным параметром я туда передам map[string]interface{} то уже все падает..
https://play.golang.org/p/3602SmLD-fc
Ну так я ж не буду вам всевозможные кейсы описывать — это уже ваша работа))
источник

IM

Ilya Martysyuk in Golang Developers — русскоговорящее сообщество
x-foby
Ну так я ж не буду вам всевозможные кейсы описывать — это уже ваша работа))
так вот я и спрашивал, возможно есть какой-то универсальный вариант итерироваться по карте изначально не зная ее типов, без тупого перебора всех возможных комбинаций… Но пока решения не нашел )
источник

IM

Ilya Martysyuk in Golang Developers — русскоговорящее сообщество
По ситу надо написать аналоги Питоновского in
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Ilya Martysyuk
так вот я и спрашивал, возможно есть какой-то универсальный вариант итерироваться по карте изначально не зная ее типов, без тупого перебора всех возможных комбинаций… Но пока решения не нашел )
Ну его и нет.
По-хорошему, такие задачи решаются переписыванием технического задания, либо использованием языков с динамической типизацией, потому как на языке со статической типизацией обрабатывать "что-то не знаю что" — это авантюра)

Можно, конечно, покостылить маршаллингом-демаршаллингом мапы в json с последующей итерацией по строковых ключам, но тоже такое себе.
источник

IM

Ilya Martysyuk in Golang Developers — русскоговорящее сообщество
x-foby
Ну его и нет.
По-хорошему, такие задачи решаются переписыванием технического задания, либо использованием языков с динамической типизацией, потому как на языке со статической типизацией обрабатывать "что-то не знаю что" — это авантюра)

Можно, конечно, покостылить маршаллингом-демаршаллингом мапы в json с последующей итерацией по строковых ключам, но тоже такое себе.
Понял, спасибо больше. Именно такой ответ я и искал, чтобы четко и понятно. А то в инете что-то предлагают, но в итоге все через одно место :)

Буду на входе требовать конкретный тип иначе реально получается «такое себе» :)
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Ilya Martysyuk
Понял, спасибо больше. Именно такой ответ я и искал, чтобы четко и понятно. А то в инете что-то предлагают, но в итоге все через одно место :)

Буду на входе требовать конкретный тип иначе реально получается «такое себе» :)
Удачи вам))
источник
2020 October 07

AS

Alexander Shavelev in Golang Developers — русскоговорящее сообщество
Ilya Martysyuk
так вот я и спрашивал, возможно есть какой-то универсальный вариант итерироваться по карте изначально не зная ее типов, без тупого перебора всех возможных комбинаций… Но пока решения не нашел )
а в гугле нет уже написанного ? необычно)
источник

IM

Ilya Martysyuk in Golang Developers — русскоговорящее сообщество
Alexander Shavelev
а в гугле нет уже написанного ? необычно)
Ну либо я гуглить не умею, либо одно из двух 😂
Реально не смог найти универсального решения.
источник

SB

Süße Brezeln in Golang Developers — русскоговорящее сообщество
Приветы
источник

SB

Süße Brezeln in Golang Developers — русскоговорящее сообщество
Есть массив string по которому пробегает и если совпадает то срабатывает действие . Но возникла идея переделать так чтобы брать из этого массива string и заменять на другой string, может кто-то делал что-то подобное, одному сложно, с го не так давно работаю скорее как хобби, нужна помощь чтобы с этим разобраться.
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Süße Brezeln
Есть массив string по которому пробегает и если совпадает то срабатывает действие . Но возникла идея переделать так чтобы брать из этого массива string и заменять на другой string, может кто-то делал что-то подобное, одному сложно, с го не так давно работаю скорее как хобби, нужна помощь чтобы с этим разобраться.
Ну берите и заменяйте:
for i := range items {
   items[i] = "new value"
}


Если новичок в go, обязательно пройдите gotour — это снимет большую часть вопросов)
источник

V

Vlad in Golang Developers — русскоговорящее сообщество
Писал, писал - ну воощем да)
источник

R

RapidCodeLab in Golang Developers — русскоговорящее сообщество
range ? не, не, не... тут нужен map[string]interface  типа того, и никакого range )
источник

SB

Süße Brezeln in Golang Developers — русскоговорящее сообщество
Хм.. не. Основная проблема в том чтобы в тексте общем заменить найденные string, совпавшие со string из массива на другие string
источник