
denisx
02.10.2017
08:38:18
так вот из того, с базой, не могу вытащить эти PreparedStatement, пишет Cannot use godb.Prepare("GetPageByURI", getPageByURI) (type *pgx.PreparedStatement) as type *pgx.PreparedStatement in assignment

Anatoly
02.10.2017
08:38:41

Maxim
02.10.2017
08:39:45
ща

Мерлин
02.10.2017
08:40:09

Google

Maxim
02.10.2017
08:40:31
я там по ссылке значение передал. сейчас еще пробую

denisx
02.10.2017
08:40:35

Andrew
02.10.2017
08:40:43

denisx
02.10.2017
08:41:05

Andrew
02.10.2017
08:41:40
Ага, что-то с вендорингом...

denisx
02.10.2017
08:42:26
пробовал наоборот, но тут go не дает, говорит залезать в вендоры пакетов нельзя

Maxim
02.10.2017
08:42:32
@twentydraft
Reports assignment with no new valiables on left side
подчеркивает мои _, exist в строке _, exist := myMap[p]

Димка
02.10.2017
08:43:00

Maxim
02.10.2017
08:43:34
@Am1rkin Получилось, но где он был объявлен?

in favor
02.10.2017
08:43:36
У тебя именованый return аргумент
(exists bool)

Maxim
02.10.2017
08:44:15
ok, спасибо

Google

in favor
02.10.2017
08:44:20
Но это странно писать новый метод для проверки вхождения в хеш таблицу
Моё личное мнение)

Andrew
02.10.2017
08:44:33

AxiS
02.10.2017
08:45:17

denisx
02.10.2017
08:45:42

Maxim
02.10.2017
08:46:31
@AxiS575 я сделал return &exist , а тип возврата указал *bool

denisx
02.10.2017
08:46:47
и он ошибок не пишет. а когда юзаешь пакет - ошибка что выше ?

Andrew
02.10.2017
08:49:02

Мерлин
02.10.2017
08:49:20

denisx
02.10.2017
08:49:51

Nick
02.10.2017
08:50:26

Мерлин
02.10.2017
08:51:11
Абстракция.
А зачем?
В чём профит?
Ты всегда сможешь "посмотреть" на возвращаемое значение как на интерфейс
А вот наоборот сложнее

Mush
02.10.2017
08:51:55

Dmytriy
02.10.2017
08:52:26

AxiS
02.10.2017
08:52:35
Как?
Не мог бы привести пример?
func (t *Test) isInMap(p *string) (exist bool) {
myMap := t.getPatterns()
_, exists := myMap[p]
return
}
если имя переменной указано в возвращаемых, нет нужды дублировать ее в return

in favor
02.10.2017
08:55:31

Andrew
02.10.2017
08:55:35
Иначе ругается, что вендоринги не совместимы...

Google

denisx
02.10.2017
08:56:35

Andrew
02.10.2017
08:57:31

Мерлин
02.10.2017
08:59:10

Andrew
02.10.2017
08:59:55

Мерлин
02.10.2017
09:01:25

Maxim
02.10.2017
09:08:54
В чем здесь проблема?
type Test1 struct{
myString string
}

Aleksandr
02.10.2017
09:09:24
здесь нет проблем

Alexander
02.10.2017
09:10:21
мозгом компилируется )

Maxim
02.10.2017
09:10:30
передаю в метод другой структуры параметр Test1.myString, содержащий строковое значение
А у меня ошибка Test1 myString is not string type

Alexander
02.10.2017
09:11:36
покажи код

Димка
02.10.2017
09:11:40
@maximniko предлагаю тебе ещё раз прочитать go tour
покажи код
да видимо он вот так делает
someFunc(Test1.myString)
не создаёт переменную, а из типа пытается дёргать значение

Maxim
02.10.2017
09:12:39
я там принимаю s string

Aleksandr
02.10.2017
09:12:50
код покажти

Alexander
02.10.2017
09:13:09
видимо

Maxim
02.10.2017
09:13:28
type Pattern struct {
number string
pattern string
}
func main() {
changer := Pattern{number: "A5555A"}
changer.setPattern()
types.Ua.IsThisPattern(changer.pattern)
fmt.Printf("%v", changer.pattern)
}
################## СЮДА ПЕРЕДАЮ
type Ua struct {
}
func (ua *Ua) IsThisPattern(p string) *bool {
myMap := ua.patterns()
_, exist := myMap[p]
return &exist
}

denisx
02.10.2017
09:14:16

Aleksandr
02.10.2017
09:15:09
а, нет

Maxim
02.10.2017
09:15:52
в разных пакетах, что значит "неимпортируемое"? Я же явно передаю параметр строкового типа

Google

Aleksandr
02.10.2017
09:16:07
да. воспроизведи на play.golang

Alexander
02.10.2017
09:16:09
pattern пустой

Aleksandr
02.10.2017
09:16:20

Maxim
02.10.2017
09:16:21
не пустой

Dmytriy
02.10.2017
09:17:56

Димка
02.10.2017
09:18:22
не пустой
а у Pattern случайно нет функции pattern?

Maxim
02.10.2017
09:18:48
invalid method expression types.Ua.IsThisPattern (needs pointer receiver: (*types.Ua).IsThisPattern)
types.Ua.IsThisPattern undefined (type types.Ua has no method IsThisPattern)
типа не создал types.Ua ???

Димка
02.10.2017
09:19:23
типа иди читай go tour
вопросы все оттуда

Maxim
02.10.2017
09:20:00
@Am1rkin там кроме Vertex{1,2} ничего нет по структурам!

Aleksandr
02.10.2017
09:20:02
types.Ua.IsThisPattern(changer.pattern) - вот ты юзаешь метод инстанса структуры, но до этого его (инстанс) не создал

Maxim
02.10.2017
09:20:20
я убрал указатель и имею ошибку в консоли
not enough arguments in call to method expression types.Ua.IsThisPattern
have (string)
want (types.Ua, string)

Daniel
02.10.2017
09:20:40
коллега
какое слово непонятно?

Aleksandr
02.10.2017
09:20:46

Daniel
02.10.2017
09:21:08
совсем-то не надо нас за бесплатного оракула карманного держать

Nick
02.10.2017
09:21:21

Alexander
02.10.2017
09:22:05
var aaa = new(Ua) забыл

Google

Maxim
02.10.2017
09:23:18
я ожидаю строку
func (ua Ua) IsThisPattern(p string) *bool {
myMap := ua.patterns()
_, exist := myMap[p]
return &exist
}
А он хочет строку от типа types.Ua

Daniel
02.10.2017
09:23:58
коллега, у него нет фантазии. вообще. что вы ему написали - то он и хочет

Maxim
02.10.2017
09:23:59
никак преобразовать нельзя, без передачи значения через параметр?

Daniel
02.10.2017
09:24:13
что куда преобразовать?

Aleksandr
02.10.2017
09:25:09

Maxim
02.10.2017
09:26:33
@zelenin я сам хочу допилить и понять, почему я в методе указываю "ЖДУ СТРОКУ!!!", а метод говорит "НЕЕТ, ТЫ ЖДЕШЬ UA sting!!!"

Aleksandr
02.10.2017
09:27:04

Daniel
02.10.2017
09:27:35

Maxim
02.10.2017
09:27:39
я без обрывков писал. Два пакета, один передает свой строковый параметр в метод другого
@onokonem я не туплю, а имею мало опыта с Go

Daniel
02.10.2017
09:28:05
давай без обрывков в playground

Maxim
02.10.2017
09:28:16
не дам

Aleksandr
02.10.2017
09:28:16

Mush
02.10.2017
09:28:40

Daniel
02.10.2017
09:28:48
не дам
тогда не обессудь - я тебя зобаню...

Dmytriy
02.10.2017
09:30:27
Стандартный пример с кофе шопом глянь. Вообще странный вопрос зачем нужны абстракции
Я так понял, мы не об одном и том же говорили.
@twentydraft давай на котиках. У меня есть фабрика котиков, которая возвращает интерфейс Мурчатель. Дальше я работаю с этим мурчателем как с абстрактным котиком, а не с конкретным. Но если мне в структуре конкретного кота нужно поправить ему кишки, то внутри его я работаю с реализацией, а не с Мурчателем, верно? Если так, то это даже обсуждать не стоило, и так всё понятно

Alexander
02.10.2017
09:30:45
хорош засорять

Димка
02.10.2017
09:31:24