Size: a a a

2020 March 12

ОЭ

Орб Экксель in Go-go!
Roman Sharkov
увы, никак. Иммутабельности / read-only типов в Go нет а приватные поля доступны всем в пределах пакета.

только если приватные поля с Get/Set вне пакета
И момент, когда записывается новое значение тоже не отловить? А если сделать свою структуру, а не тип, я смогу там отловить изменение значение в поле?
источник

RS

Roman Sharkov in Go-go!
Орб Экксель
И момент, когда записывается новое значение тоже не отловить? А если сделать свою структуру, а не тип, я смогу там отловить изменение значение в поле?
нет. Только через условный Set
источник

SA

Sky Alex in Go-go!
Блин, может я что-то делаю не так.

Как сделать что б go mod vendor не перекачивал пакеты если они уже есть в vendor?
источник

SA

Sky Alex in Go-go!
Сечас если в GOPATH пусто то он их скачает на ново.
источник

DM

Dmitry M in Go-go!
Roman Sharkov
а мне вот интересно, как заюзать AVX2 из Go? только через c2goasm? ASM ведь напрямую из Go нельзя, только Go’шный Plan-9 ASM, или я что-то путаю?
источник

RS

Roman Sharkov in Go-go!
i see, мерси
источник

MD

Mike D in Go-go!
Приветствую!
Кто-нибудь сталкивался с задачей конвертации структуры в csv, притом поля csv, которые надо отдать, приходят извне.

т.е. по нормальной логике
type S struct { name string csv:",omitempty"}
Я думал, gocarina/gocsv поддерживает omitempty, но что-то не поддерживает и отдает все подряд.
Кто-нибудь знает нормальную библиотечку, которая это делает более человеколюбиво? или может gocsv как-то можно ЗАСТАВИТЬ это делать)
источник

/

/dev/null in Go-go!
Mike D
Приветствую!
Кто-нибудь сталкивался с задачей конвертации структуры в csv, притом поля csv, которые надо отдать, приходят извне.

т.е. по нормальной логике
type S struct { name string csv:",omitempty"}
Я думал, gocarina/gocsv поддерживает omitempty, но что-то не поддерживает и отдает все подряд.
Кто-нибудь знает нормальную библиотечку, которая это делает более человеколюбиво? или может gocsv как-то можно ЗАСТАВИТЬ это делать)
а вы уверены что правильно перечисляете параметры внутри тега?
источник

/

/dev/null in Go-go!
Должно быть так
Field int csv:"myName,omitempty"
источник

/

/dev/null in Go-go!
Examples of struct field tags and their meanings:

// Decode matches this field with "myName" header column.
Field int `csv:"myName"`

// Decode matches this field with "Field" header column.
Field int

// Decode matches this field with "myName" header column and decoding is not
// called if record's field is an empty string.
Field int `csv:"myName,omitempty"`

// Decode matches this field with "Field" header column and decoding is not
// called if record's field is an empty string.
Field int `csv:",omitempty"`

// Decode ignores this field.
Field int `csv:"-"`

// Decode treats this field exactly as if it was an embedded field and
// matches header columns that start with "my_prefix_" to all fields of this
// type.
Field Struct `csv:"my_prefix_,inline"`

// Decode treats this field exactly as if it was an embedded field.
Field Struct `csv:",inline"`
источник

/

/dev/null in Go-go!
и string по умолчанию инициализируется пустой строкой "" и так вы не получите желаемый omitempty
источник

/

/dev/null in Go-go!
делайте так:
type S struct { name *string csv:",omitempty"}
источник

/

/dev/null in Go-go!
Т.е используйте указатель на string
источник

/

/dev/null in Go-go!
чтобы проинициализировать значение (если оно пустое) nil
источник

MD

Mike D in Go-go!
Да, и это было бы отличное решение, к сожалению, я так уже пробовал
вот мне приходит
resp{{name: nil}}
csvContent, err := gocsv.MarshalString(&resp)

и на выходе gocsv все равно отдает
"name\n;;"

а эта документация из https://github.com/jszwec/csvutil ?
источник

/

/dev/null in Go-go!
Mike D
Да, и это было бы отличное решение, к сожалению, я так уже пробовал
вот мне приходит
resp{{name: nil}}
csvContent, err := gocsv.MarshalString(&resp)

и на выходе gocsv все равно отдает
"name\n;;"

а эта документация из https://github.com/jszwec/csvutil ?
да
источник

/

/dev/null in Go-go!
Вы пробовали разобраться как работает библиотека?
источник

/

/dev/null in Go-go!
посмотрите что там происходит закулисами
источник

МП

Мимо Проходящий in Go-go!
Чтобы использовать гошную кодовую базу.
источник

МП

Мимо Проходящий in Go-go!
pasha che
Эх, нитивка всё же :-)
Просто нашёл примеры на go, но как-то скучно инфы
На го нет гуя для мобильности.
источник