Size: a a a

2020 February 21

DG

Dmitry Gagarin in Go-go!
Roman Sharkov
у меня такое ощущение что что-то вы делаете не так
скорее всего) задача по сути тривиальная: API - метод обновления данных, но не всех полей разом, а произвольные, во всех примерах это выглядит примерно так:
structure.Name = c.Param("name")
structure.Age = c.Param("age")
но в таком случае, если какой-то из параметров не передали, то затрутся данные, которые уже есть, при этом не нашёл примеров, когда обновляемых полей не пара, а пара десятков
а т.к. пришёл с интерпретируемых языков, то и подходы, в данном случае, видимо, не верные, пытаюсь применять)
источник

RS

Roman Sharkov in Go-go!
Dmitry Gagarin
скорее всего) задача по сути тривиальная: API - метод обновления данных, но не всех полей разом, а произвольные, во всех примерах это выглядит примерно так:
structure.Name = c.Param("name")
structure.Age = c.Param("age")
но в таком случае, если какой-то из параметров не передали, то затрутся данные, которые уже есть, при этом не нашёл примеров, когда обновляемых полей не пара, а пара десятков
а т.к. пришёл с интерпретируемых языков, то и подходы, в данном случае, видимо, не верные, пытаюсь применять)
if v := c.Param(“name”); v != “” {
 s.Name = v
}
if v := c.Param(“age”); v != “” {
 vi, err := strconv.ParseUint(v, 10, 32)
 if err != nil {
   return fmt.Errorf(“invalid age: %w”, err)
 }
 s.Age = vi
}
// etc.
источник

DG

Dmitry Gagarin in Go-go!
Roman Sharkov
if v := c.Param(“name”); v != “” {
 s.Name = v
}
if v := c.Param(“age”); v != “” {
 vi, err := strconv.ParseUint(v, 10, 32)
 if err != nil {
   return fmt.Errorf(“invalid age: %w”, err)
 }
 s.Age = vi
}
// etc.
Спасибо! Значит буду делать так), осталось только разобраться с первым вопросом. Т.к. ещё нужно знать передан ли параметр, т.к. он может быть передан и быть пустым, при удалении значения.
источник

RS

Roman Sharkov in Go-go!
Dmitry Gagarin
Спасибо! Значит буду делать так), осталось только разобраться с первым вопросом. Т.к. ещё нужно знать передан ли параметр, т.к. он может быть передан и быть пустым, при удалении значения.
тут всё зависит от API роутера
источник

RS

Roman Sharkov in Go-go!
Dmitry Gagarin
Спасибо! Значит буду делать так), осталось только разобраться с первым вопросом. Т.к. ещё нужно знать передан ли параметр, т.к. он может быть передан и быть пустым, при удалении значения.
if c.HasParam(“name”) {
 s.Name = c.Param(“name”)
}


или

if v, ok := c.Param(“name”); ok {
 s.Name = v
}


зависит от API
источник

DG

Dmitry Gagarin in Go-go!
Roman Sharkov
тут всё зависит от API роутера
да, видимо что-то должно быть, с этим, думаю, разберусь, долго искал ответ на вопрос, который был сам по себе не верный (про изменение полей структуры в цикле), спасибо, что подсказали)
источник

RS

Roman Sharkov in Go-go!
Dmitry Gagarin
да, видимо что-то должно быть, с этим, думаю, разберусь, долго искал ответ на вопрос, который был сам по себе не верный (про изменение полей структуры в цикле), спасибо, что подсказали)
✌️🏻
источник

DG

Dmitry Gagarin in Go-go!
Roman Sharkov
if c.HasParam(“name”) {
 s.Name = c.Param(“name”)
}


или

if v, ok := c.Param(“name”); ok {
 s.Name = v
}


зависит от API
вы правы, это  v, ok := c.Param(“name”); работает 👍, в моём случае, т.е. в gin
источник

К🇦

Коала 🇦🇺 in Go-go!
Кто может помочь с кодом, через дискорд или тимвьювер? Запускается только две итерации в которых запускаю горутины, потом виснет на ожидании завершения работы горутин
источник
2020 February 22

RS

Roman Sharkov in Go-go!
Коала 🇦🇺
Кто может помочь с кодом, через дискорд или тимвьювер? Запускается только две итерации в которых запускаю горутины, потом виснет на ожидании завершения работы горутин
не думаю что на это кто-то будет тратить время. Показывай код 🙂
источник

К🇦

Коала 🇦🇺 in Go-go!
Roman Sharkov
не думаю что на это кто-то будет тратить время. Показывай код 🙂
Кусками могу только показать, там специфичный код, парсер с сайта который открыт только из местной сети
источник

RS

Roman Sharkov in Go-go!
Коала 🇦🇺
Кусками могу только показать, там специфичный код, парсер с сайта который открыт только из местной сети
whatever
источник

К🇦

Коала 🇦🇺 in Go-go!
источник

RS

Roman Sharkov in Go-go!
где конкретно проблема?
источник

К🇦

Коала 🇦🇺 in Go-go!
Roman Sharkov
где конкретно проблема?
проблема на второй итерации цикла виснет for ii := 0; ii < Wrkr; ii++ { // если индекс итератора меньше количества необходимых воркеров (10)
     fmt.Println("    *** ii" + strconv.Itoa(ii))
источник

К🇦

Коала 🇦🇺 in Go-go!
как будто ждет воркеров
источник

RS

Roman Sharkov in Go-go!
Коала 🇦🇺
проблема на второй итерации цикла виснет for ii := 0; ii < Wrkr; ii++ { // если индекс итератора меньше количества необходимых воркеров (10)
     fmt.Println("    *** ii" + strconv.Itoa(ii))
попробуй написать нечто работающее в playground’е
источник

К🇦

Коала 🇦🇺 in Go-go!
Roman Sharkov
попробуй написать нечто работающее в playground’е
Fmt.Print("_")
такое?
источник

RS

Roman Sharkov in Go-go!
Коала 🇦🇺
Fmt.Print("_")
такое?
всмсл?
источник

К🇦

Коала 🇦🇺 in Go-go!
Roman Sharkov
всмсл?
Вот и я про смысл.
источник