@proGO

Страница 972 из 1674
Ivan
06.11.2017
14:50:04
дуплирование кода какое то получается

Vlad
06.11.2017
14:50:31
go playground...

Ivan
06.11.2017
14:50:39
сек

https://play.golang.org/p/GjrzKLd6St

Google
John
06.11.2017
14:52:16
И в чем проблема ?

Vlad
06.11.2017
14:53:03
Тупой вопрос, но разве connect не должен возвращать обьект коннтекта?

Connect() (conn, err)

Ivan
06.11.2017
14:53:54
Тупой вопрос, но разве connect не должен возвращать обьект коннтекта?
нет, conn будет храниться внутри структуры и за пределами пакета db ты не получишь к нему доступ.

Идея такова, доступ будет только к методам

И в чем проблема ?
говнокодом попахивает, не нравится повторение которе намутил. Правда до меня дошло, можно тупо интерфейс встроить в структуру и всё будет как надо...))

Правда goglang не умеет создавать методы от интерфейса(

Alex
06.11.2017
14:56:01
goland

теперь :)

?
06.11.2017
14:56:21
goland
Все, платная?)

Ivan
06.11.2017
14:56:31
Alex
06.11.2017
14:56:56
Все, платная?)
Вроде как

Vladimir
06.11.2017
14:57:03
Все, платная?)
Ещё до декабря еап работает

Google
?
06.11.2017
14:57:08
EAP free 30 days?

Vladimir
06.11.2017
14:57:30
Оно из беты не вышло, ценника пока нет

Ivan
06.11.2017
14:57:45
toolbox не говорит что доступна goland, тупо все по старому

Vladimir
06.11.2017
15:00:17
Ставить рядом

Сносит старый

Ivan
06.11.2017
15:00:30
И в чем проблема ?
https://play.golang.org/p/afo9xKZBp7 вокак

Vladimir
06.11.2017
15:00:39
У тех кто распаковал поверх на линуксе лицензия как раз слетела

Ivan
06.11.2017
15:00:52
Сносит старый
есть там фиксы? или тупо rename?

Vladimir
06.11.2017
15:01:03
?
06.11.2017
15:01:22
liteide никто не юзает?

John
06.11.2017
15:02:45
https://play.golang.org/p/afo9xKZBp7 вокак
Отличный способ выстрелить себе в ногу, ИМХО )

Ivan
06.11.2017
15:03:14
Отличный способ выстрелить себе в ногу, ИМХО )
не спорю, как лучше будет сделать? Или так в го не принято?

John
06.11.2017
15:03:54
Ivan
06.11.2017
15:04:57
Смотря что ты хочешь получить
Будет по сути обертка для работы с "АПИ", а что какой тип базы данных ты хочешь запилить, без разницы, главное накодить реализацию по этому интерфейсу

https://play.golang.org/p/Ag1L-bk76i вот такое получается

Ivan
06.11.2017
15:05:51
и если надо допустим работать с эластикой, то ты делаешь просто NewElastic

а ... посмотри как это все сделано в других движках, типа psql и тд
мельком смотрел, у них тупо "обобщено", у меня допустим метод Поиска будет так: SearchLogsDriver(id int) ([]DriverPosition, error) т.е возвращать заполненные структуры

nn
06.11.2017
20:25:24
господа, молю, объясните, как сделать структуру из трех буфферизированых каналов, я уже обгуглил и посмотрел все на свете, все равно не понимаю

Google
nn
06.11.2017
20:27:04
вот допустим: channel := make(chan string, 1) вот как тип этот запихнуть в struct?

nn
06.11.2017
20:29:02
type A struct{ X,Y,Z chan string }
но это не буферизированые 3 канала

Kirill
06.11.2017
20:29:24
это структура из каналов строк

nn
06.11.2017
20:29:26
они блокируют в итоге все, что не нужно блокироват

да

Kirill
06.11.2017
20:30:00
хочешь - делаешь после b := A{ X: make(chan string, 888), Y: make(chan string, 888), Z: make(chan string, 888), }

nn
06.11.2017
20:32:28
фига, работает, спасибо большое

Kirill
06.11.2017
20:32:43
да не за что.

nn
06.11.2017
20:35:40
https://play.golang.org/p/2swyxPfimg
а что происходит в вторых фигурных скобках, и для чего они нужны?

Vladimir
06.11.2017
20:35:53
а что происходит в вторых фигурных скобках, и для чего они нужны?
объявил структуру, проинициализировал структуру

Vladimir
06.11.2017
20:35:54
сразу же

Kirill
06.11.2017
20:36:12
Vladimir
06.11.2017
20:36:30
https://play.golang.org/p/jQDZLv8SN0

nn
06.11.2017
20:36:32
окей, я просто к чему это

Vladimir
06.11.2017
20:36:33
можно так делать

просто первое проще когда пример показать как сделать можно

по такой же аналогии ты можешь делать слайсы каналов, структуры со слайсами каналов, мапы из чего-нибудь в каналы

и т.п.

Google
Vladimir
06.11.2017
20:37:16
что позволит тебе твоя фантазия

Kirill
06.11.2017
20:38:04
это всё - выражение вида type_description{value_description}

Vladimir
06.11.2017
20:38:11
map[chan string]chan string тоже можно)

интересно, есть ли в каком-нибудь реальном коде применение такой мапе?

Admin
ERROR: S client not available

nn
06.11.2017
20:39:34
а можно ли их сразу инициализировать, что бы написать типа https://play.golang.org/p/GevrAGG8QX (пример, очевидно, нерабочий, просто что бы показать, что я хочу)

nn
06.11.2017
20:40:04
потому что мне требуется много объектов одного типа, и все их инициализировать это не есть хорошо

Kirill
06.11.2017
20:40:07
map[chan Work]chan Done
но не надо

Vladimir
06.11.2017
20:40:23
map[chan Work]chan Done
да вопрос в том есть ли реальное применение такому, которое надо

Alexey
06.11.2017
20:40:52
Kirill
06.11.2017
20:40:56
да вопрос в том есть ли реальное применение такому, которое надо
ну - типа по каналу воркера получать его канал закрытия

Vladimir
06.11.2017
20:41:41
делай так что ли

https://play.golang.org/p/nLBvVwRudE или так

nn
06.11.2017
20:46:02
https://play.golang.org/p/CBuMhOdYf_ вообще, получилось так, хотя может есть способ попроще ну да ладно

спасибо за помощь

Vladimir
06.11.2017
20:47:07
@nn130001 выше я кинул - newTwoChans

Google
Vladimir
06.11.2017
20:47:10
так более принято

и во вторых camelCase

второе слово - с заглавной буквы

nn
06.11.2017
20:47:43
ооооооооо, шикарно, прям то, что нужно, спасибо правда!

Kirill
06.11.2017
20:49:52
https://play.golang.org/p/CBuMhOdYf_ вообще, получилось так, хотя может есть способ попроще ну да ладно
return не обязателен, плюс забыл проверить, не проинициализирован ли уже канал

nn
06.11.2017
20:51:12
newSomeStruct более каноничен и глазу приятен, у меня костыльная реализация получилась

ну типа

зачем сначала объявлять и инициализировать, если можно одной функцией все сделать

стикерпак забрал, сяп)

окей, еще вопрос такой: допустим, есть некоторая переменная, в которую в любой момент времени может записаться некоторое число, и нужно ее вывести на экран с помощью горутины, после чего очистить переменную. блокировать вообще ничего нельзя, в этом у меня проблема. как правильно это реализовать? вы простите, я правда очень тупенький, но я честно гуглил до последнего

Kirill
06.11.2017
21:54:57
https://golang.org/pkg/sync/atomic/ Store/Load

Kirill
06.11.2017
22:15:22
Есть способ в го заставить лог писать разную инфу в разные файлы? Ну т.е. можно постоянно делать log.setOutput и менять назначение куда пишем, но как-то не выглядит что это нормальная практика

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