
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
Идея такова, доступ будет только к методам
И в чем проблема ?
говнокодом попахивает, не нравится повторение которе намутил. Правда до меня дошло, можно тупо интерфейс встроить в структуру и всё будет как надо...))
Правда goglang не умеет создавать методы от интерфейса(

Alex
06.11.2017
14:56:01
goland
теперь :)

?
06.11.2017
14:56:21

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

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

Ivan
06.11.2017
15:00:52

Vladimir
06.11.2017
15:01:03

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

John
06.11.2017
15:02:45

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
вот такое получается

John
06.11.2017
15:05:34

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

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

Google

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

Pawel
06.11.2017
20:28:37

nn
06.11.2017
20:29:02

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

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

Vladimir
06.11.2017
20:29:40

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

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 (пример, очевидно, нерабочий, просто что бы показать, что я хочу)

Kirill
06.11.2017
20:40:01

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

Kirill
06.11.2017
20:40:07

Vladimir
06.11.2017
20:40:23

Kirill
06.11.2017
20:40:40

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

Vladimir
06.11.2017
20:50:42
ИМХО

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 и менять назначение куда пишем, но как-то не выглядит что это нормальная практика