Size: a a a

Golang Developers — русскоговорящее сообщество

2020 October 07

R

RapidCodeLab in Golang Developers — русскоговорящее сообщество
далее текст раскладывается, и для слов больше n букв ищет в мапе вхождение, если есть, рандомно заменяет из значения, как то так)
источник

КТ

Кирилл Тюпаев... in Golang Developers — русскоговорящее сообщество
Привет, кто нибудь может посоветовать туториал нормальный по rest api базовому, ну или какое api сейчас принято писать?😄
источник

КТ

Кирилл Тюпаев... in Golang Developers — русскоговорящее сообщество
Но не просто «пишем вот этот код и у нас работает» а с пояснениями и прочим
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
RapidCodeLab
я так понимаю он синонамаизинг делает , вот там синонимы обычно у меня в мапе map[target_string][]replace_string
Судя по всему, типа того, только требуется замена строки на строку, то есть либо map[target_string]replace_sring, либо []target_string + []replace_string.
Оба варианта неплохо сочетаются с strings.Replacer из стандартной библиотеки — достаточно просто создать общий слайс вида []string{target1, replace1, ..., targetN, replaceN} и отдать в strings.NewReplacer)
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Кирилл Тюпаев
Но не просто «пишем вот этот код и у нас работает» а с пояснениями и прочим
Вы писали REST-API на других языках?
источник

КТ

Кирилл Тюпаев... in Golang Developers — русскоговорящее сообщество
x-foby
Вы писали REST-API на других языках?
Да, питон правда, drf, так что полагаю что тут все несколько иначе
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Кирилл Тюпаев
Да, питон правда, drf, так что полагаю что тут все несколько иначе
Ну принципы-то у REST не зависят от языка)
Пройдите go-tour, после этого открывайте любой туториал по REST-API для  go — всё будет понятно)
источник

КТ

Кирилл Тюпаев... in Golang Developers — русскоговорящее сообщество
Хорошо, спасибо
источник

Д

Долина in Golang Developers — русскоговорящее сообщество
Здравствуйте, такой вопрос у меня. Чем отличается package от import. если они делают одно и тоже, подключают пакеты?
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Долина
Здравствуйте, такой вопрос у меня. Чем отличается package от import. если они делают одно и тоже, подключают пакеты?
package не подключает, а объявляет пакет.
Пройдите go tour — это снимет кучу вопросов)
источник

Д

Долина in Golang Developers — русскоговорящее сообщество
x-foby
package не подключает, а объявляет пакет.
Пройдите go tour — это снимет кучу вопросов)
Я правильно понимаю https://tour.golang.org ? Спасибо за ответ
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Долина
Я правильно понимаю https://tour.golang.org ? Спасибо за ответ
Да, не пожалейте времени — там много ответов))
источник

Д

Долина in Golang Developers — русскоговорящее сообщество
Хорошо, благодарю
источник

Y

Yuri in Golang Developers — русскоговорящее сообщество
Господа, прошу помощи. Совсем запутался.
Пытаюсь запустить горутину, чтобы она ждала появления данных в канале.
Потом запускается чтение файла, где он парсится в mail.Message и отправляется в канал, где его должна ждать горутина.

mailChan := make(chan *mail.Message)
go processMail(redis, mailChan)

for _, fileName := range fileNames {
   err := ReadFile(mailChan, fileName)
   if err !=nil {ololo}
}
close(mailChan)


func ReadFile(job chan<- *mailMessage, fileName string) (err error) {
   file, err := os.Open(fileName)
   …
   m, err := mail.ReadMessage(file)

   job <- m
}

func processMail(redis writer.ProcessRedis, in <-chan *mail.Message) {
   for m := range in {

       rcpt := strings.ToLower(m.Header.Get("X-Failed-Recipients"))
….
redis.Insert(record)
   }
}


Вроде делаю, как по написанному 🙂 (ну то есть прямо вот книжный пример взял for m := range in {
А в дебаге вижу, что range выполняется по пустому каналу, хотя, как я понял, такая конструкция в горутине должна блокироваться
источник

Y

Yuri in Golang Developers — русскоговорящее сообщество
вопрос нубский, конечно, но я на сеньора и не претендую 🙂
источник

Y

Yuri in Golang Developers — русскоговорящее сообщество
Или я чего-то не учел?
источник

AS

Alexey Shumkin in Golang Developers — русскоговорящее сообщество
Yuri
Или я чего-то не учел?
вероятно (сам недавно в Го), дело в небуферизиованном канале
в gobyexample , например - там буферизованный используется
источник

Y

Yuri in Golang Developers — русскоговорящее сообщество
А разве не должен прием блокироваться просто?
источник

Y

Yuri in Golang Developers — русскоговорящее сообщество
Если канал буферизованый - тогда туда должно отправиться и работаем дальше. Потом кто-нибудь выгребет из буфера
источник

Y

Yuri in Golang Developers — русскоговорящее сообщество
Если небуферизованый - заблокировались и ждем
источник