Size: a a a

2020 April 16

C

Calculon in Go-go!
Чет даже в голову не приходило ембеддить с приватным полем и маршалить
источник

GC

Great Cornilio in Go-go!
это скорее валидация кастомная, конечно
источник

Pu

Process user in Go-go!
Коллеги, допустим есть некий api, которая принимает в качестве POST запроса json:
{ "a": "a", "b": "b", "c": 100}

Соответственно, есть структура
type Test struct {
   a string
   b string
   c int
}

Есть желание, дать возможность присылать, только часть полей в json
{ "a": "a", "b": "b"}

Если матчить данный json со структурой Test, то появляется проблема при которой поле c данной структуры будет нулевым.
Пока у меня нет идей, кроме как биндить json в map[string]interface{}. В этой реализации я вижу как минимум одну проблему, это отсутствия контроля за типом присылаемых полей.

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

а

а кто это in Go-go!
Process user
Коллеги, допустим есть некий api, которая принимает в качестве POST запроса json:
{ "a": "a", "b": "b", "c": 100}

Соответственно, есть структура
type Test struct {
   a string
   b string
   c int
}

Есть желание, дать возможность присылать, только часть полей в json
{ "a": "a", "b": "b"}

Если матчить данный json со структурой Test, то появляется проблема при которой поле c данной структуры будет нулевым.
Пока у меня нет идей, кроме как биндить json в map[string]interface{}. В этой реализации я вижу как минимум одну проблему, это отсутствия контроля за типом присылаемых полей.

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

M

Mikhail in Go-go!
Process user
Коллеги, допустим есть некий api, которая принимает в качестве POST запроса json:
{ "a": "a", "b": "b", "c": 100}

Соответственно, есть структура
type Test struct {
   a string
   b string
   c int
}

Есть желание, дать возможность присылать, только часть полей в json
{ "a": "a", "b": "b"}

Если матчить данный json со структурой Test, то появляется проблема при которой поле c данной структуры будет нулевым.
Пока у меня нет идей, кроме как биндить json в map[string]interface{}. В этой реализации я вижу как минимум одну проблему, это отсутствия контроля за типом присылаемых полей.

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

RS

Roman Sharkov in Go-go!
Process user
Коллеги, допустим есть некий api, которая принимает в качестве POST запроса json:
{ "a": "a", "b": "b", "c": 100}

Соответственно, есть структура
type Test struct {
   a string
   b string
   c int
}

Есть желание, дать возможность присылать, только часть полей в json
{ "a": "a", "b": "b"}

Если матчить данный json со структурой Test, то появляется проблема при которой поле c данной структуры будет нулевым.
Пока у меня нет идей, кроме как биндить json в map[string]interface{}. В этой реализации я вижу как минимум одну проблему, это отсутствия контроля за типом присылаемых полей.

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

x

x-foby in Go-go!
Roman Sharkov
указатели
+
источник

RS

Roman Sharkov in Go-go!
omitempty это про другое, это чтоб в случае сериализации не создавать условное {“b”:null}
источник

а

а кто это in Go-go!
Roman Sharkov
omitempty это про другое, это чтоб в случае сериализации не создавать условное {“b”:null}
{ "a": "a", "b": "b", "c": 100} в { "a": "a", "b": "b"}
это оно самое
источник

RS

Roman Sharkov in Go-go!
а кто это
{ "a": "a", "b": "b", "c": 100} в { "a": "a", "b": "b"}
это оно самое
> Есть желание, дать возможность присылать,

тут вопрос про входящий JSON
источник

C

Calculon in Go-go!
а кто это
{ "a": "a", "b": "b", "c": 100} в { "a": "a", "b": "b"}
это оно самое
это про маршалинг
источник

C

Calculon in Go-go!
Roman Sharkov
> Есть желание, дать возможность присылать,

тут вопрос про входящий JSON
да вот
источник

C

Calculon in Go-go!
Кстати а всякие там *int не должны же попадать в кучу?
источник

а

а кто это in Go-go!
указатель на это не влияет, если ты об этом
источник

Pu

Process user in Go-go!
Пробую
type Test struct {
   a string
   b string
   c int json:”c,omitempty"
}

Результат прежний, а если указать
type Test struct {
   a string
   b string
   c *int json:”c,omitempty"
}

то "с" становится nil
источник

C

Calculon in Go-go!
а кто это
указатель на это не влияет, если ты об этом
окей
источник

C

Calculon in Go-go!
А как вообще определяется когда значение попадает в кучу
источник

C

Calculon in Go-go!
Process user
Пробую
type Test struct {
   a string
   b string
   c int json:”c,omitempty"
}

Результат прежний, а если указать
type Test struct {
   a string
   b string
   c *int json:”c,omitempty"
}

то "с" становится nil
Это норма
источник

а

а кто это in Go-go!
на это влияет escape analyzer
источник

Pu

Process user in Go-go!
Calculon
Это норма
Теперь осталось узнать, как с базой будет работать данный подход
источник