Size: a a a

2020 February 21

DM

Dmitry M in Go-go!
Mansur Mansurov
Только этим и приходится обходиться, но это жутко не приятно, когда дело касается более менее сложных структур.
Как бы есть всякие там паттерны проектирования
источник

OJ

O . J in Go-go!
Mansur Mansurov
Привет всем, вопрос касательно публичности полей. Для того чтобы использовать стандартный/нестандартный парсер необходимо в структурах делать публичными поля. Никого не напрягает этот момент?
стандартный маршалер находится в отдельном пакете, это логично что он не должен видеть приватные поля сруктуры которую ты ему даешь.
источник

MM

Mansur Mansurov in Go-go!
Dmitry M
Как бы есть всякие там паттерны проектирования
Можно по конкретнее?
источник

DM

Dmitry M in Go-go!
Mansur Mansurov
Можно по конкретнее?
Например memento
источник

MM

Mansur Mansurov in Go-go!
Dmitry M
Например memento
Спасибо, ознакомлюсь
источник

MM

Mansur Mansurov in Go-go!
O . J
стандартный маршалер находится в отдельном пакете, это логично что он не должен видеть приватные поля сруктуры которую ты ему даешь.
С одной стороны да, но неудобства есть.
источник

DM

Dmitry M in Go-go!
DTO на то и DTO, что не содержит поведения
источник

Pu

Process user in Go-go!
а есть тут те, кто работал с https://github.com/swaggo/gin-swagger ?

В общем, проблема в том, что после запуска swag init --dir ./src/api/main.go
получаю по сути пустой json/yaml

info:
 contact: {}
 license: {}
paths: {}
swagger: “2.0”
источник

E

Edit Name in Go-go!
Does anyone know and write cgo?
источник

PK

Phil Kulin in Go-go!
Может кто лазал по коду самого Go. Или кому сейчас интересно залезть. А что у interface{} под капотом? Он явно же тегирует тип
источник

EL

Evgeny Lilekov in Go-go!
Phil Kulin
Может кто лазал по коду самого Go. Или кому сейчас интересно залезть. А что у interface{} под капотом? Он явно же тегирует тип
2) Как устроен интерфейс?
 type iface struct{
   tab *itab
   data unsafe.Pointer
 }
 itab - это interface table, и это тоже является отдельной структурой, в которой хранится
 дополнительная информация об интерфейсе и базовом типе:
 type itab struct{
   inter *interfacefacetype
   _type *_type
   link  *itab
   bad   int32
   unused int32
   fun    [1]uintptr
 }
 Интерфейс это набор данных о типах (интерфейса и типа переменной внутри него) и указатель на перменную со статическим (конкретным) типом (поле data в iface).
 


3) Как устроен пустой интерфейс?
 Реализован отдельной структурой:
 type eface struct{
   _type *_type
   data unsafe.Pointer
 }
 Похож на интерфейс, но в ней нет таблицы интерфейса (itab). Т.к. любой статический тип
 удовлетворяет пустому интерфейсу.
источник

PK

Phil Kulin in Go-go!
Evgeny Lilekov
2) Как устроен интерфейс?
 type iface struct{
   tab *itab
   data unsafe.Pointer
 }
 itab - это interface table, и это тоже является отдельной структурой, в которой хранится
 дополнительная информация об интерфейсе и базовом типе:
 type itab struct{
   inter *interfacefacetype
   _type *_type
   link  *itab
   bad   int32
   unused int32
   fun    [1]uintptr
 }
 Интерфейс это набор данных о типах (интерфейса и типа переменной внутри него) и указатель на перменную со статическим (конкретным) типом (поле data в iface).
 


3) Как устроен пустой интерфейс?
 Реализован отдельной структурой:
 type eface struct{
   _type *_type
   data unsafe.Pointer
 }
 Похож на интерфейс, но в ней нет таблицы интерфейса (itab). Т.к. любой статический тип
 удовлетворяет пустому интерфейсу.
Спасибо. Т.е. они по разному сделали. И пустой это тупо polymorphic из  версии 1989. Спасибо.
источник

MT

Mikhail Tsyplakov in Go-go!
```go.toolsGopath setting is not set. Using GOPATH /home/jaybe/go
Installing 1 tool at the configured GOBIN: /home/jaybe/go/bin in module mode.
 gopkgs

Installing github.com/uudashr/gopkgs/cmd/gopkgs FAILED

1 tools failed to install.

gopkgs:
Error: Command failed: /usr/local/go/bin/go get -v github.com/uudashr/gopkgs/cmd/gopkgs
go: finding github.com/uudashr/gopkgs/cmd/gopkgs latest
go get: github.com/uudashr/gopkgs/cmd/gopkgs@v0.0.0-20191024034442-58e9141cd7d6 requires
github.com/uudashr/gopkgs/v2@v2.1.0 requires
github.com/uudashr/gopkgs@v0.0.0: reading github.com/uudashr/gopkgs/go.mod at revision v0.0.0: unknown revision v0.0.0
go: finding github.com/uudashr/gopkgs/cmd/gopkgs latest
go get: github.com/uudashr/gopkgs/cmd/gopkgs@v0.0.0-20191024034442-58e9141cd7d6 requires
github.com/uudashr/gopkgs/v2@v2.1.0 requires
github.com/uudashr/gopkgs@v0.0.0: reading github.com/uudashr/gopkgs/go.mod at revision v0.0.0: unknown revision v0.0.0```Подскажите новичку что это значит? И что с этим делать?
источник

AP

Alexey Palazhchenko in Go-go!
источник

MT

Mikhail Tsyplakov in Go-go!
Ок. А простыми словами о чем эта ошибка говорит? Что go.mod нету по этому урлу или что?
источник

AP

Alexey Palazhchenko in Go-go!
У автора баг с git тегом
источник

AP

Alexey Palazhchenko in Go-go!
Но простыми словами я не знаю как
источник

AK

Anton Kramarev in Go-go!
GO111MODULE=off go get -u github.com/uudashr/gopkgs/cmd/gopkgs
источник

AK

Anton Kramarev in Go-go!
Должно помочь
источник

IK

Ilya Kaznacheev in Go-go!
Господа, чем можно пофиксить когда делаешь go get -u <lib-name>, а бинарь с этим именем не обновляется в системе?
источник