Size: a a a

2021 June 09

VY

Vladislav Yarmak in Go-go!
проверяет i-ый бит в переменной button
источник

MV

Matunin Vlad in Go-go!
Спасибо.
источник

MT

Mikhail Tsyplakov in Go-go!
Привет. Подключил либу для сбора prometheus метрик, смотрю что оно выдает start_time такое:
# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
# TYPE process_start_time_seconds gauge
process_start_time_seconds 1.62247617413e+09

При это когда сделал такое же для nodejs, оно выдает нормальное время
# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
# TYPE process_start_time_seconds gauge
process_start_time_seconds 1623060910

Куда копать что смотреть?
источник

E

ElementaL in Go-go!
Народ, подскажите, правильно ли делаю, или есть лучше вариант:
Есть 2 функции, но они делают разную работу за разное время
somework(s string) string
worksome(s string) string
Нужно их выполнить параллельно и получить результаты, которые передать в 3-ю функцию, например вывод

//делаем функцию внутри которой будем запускать горутину и возвращать канал результата:

runF(f func(s string) string, s string) chan string {
 result := make(chan string)
 go func() {
   result <- f(s)
 }()
 return result
}

//далее
main() {
 var res1, res2 string
 f1:= runF(somework, "123")
 f2:= runF(worksome, "321")
//Именно тут вопрос, я синхонизирую через 2 селекта, но чую, что это как-то не  правильно
//долго думал как с sync.WaitGroup, но так и не придумал, как извлечь результаты в  правильном порядке итд.
//можно какой-нибудь мап и в него писать, но там свои траблы тогда
//Как правильно?
 for i:=0; i<2; i++ {
   select {
     case res1 = <-f1:
     case res2 = <-f2:
   }
 }
 fmt.Println(res1 + " & " + res2
}
источник

E

ElementaL in Go-go!
пс, оно работает, но хочется понять как правильно в реальных условиях
источник

E

ElementaL in Go-go!
И на сколько правильно просто ждать каналов без селекта 1 за другим?
источник

AP

Andrew Popov in Go-go!
Так тут именно самое место для WaitGroup.
источник

AP

Andrew Popov in Go-go!
Лучше задачи и не придумать.
источник

E

ElementaL in Go-go!
я не понял куда сохранять результат, неужели создать мап и передавать его указатель в каждую обертку?
источник

VY

Vladislav Yarmak in Go-go!
внутренняя функция может положить через замыкание переменную во внешнюю функцию безо всяких каналов
источник

VY

Vladislav Yarmak in Go-go!
две переменные просто сделать и чтобы функция, оборачивающая запуск каждой из двух функций, клала результат в свою переменную
источник

VY

Vladislav Yarmak in Go-go!
а WaitGroup-ом просто дождаться выполления обоих горутин
источник

N

Nikita in Go-go!
func hello(w http.ResponseWriter, req *http.Request) {

GetIPs(token,Api_url)

 itemsBytes, err := json.Marshal(item)
 if err != nil {
   w.Write([]byte(err.Error()))
   return
 }

 w.Write(itemsBytes)

}
источник

N

Nikita in Go-go!
подскажите то что отдаёт фукция GetIPs(token,Api_url) передать в item ?
источник

DP

Daniel Podolsky in Go-go!
вопрос не ясен
источник

VY

Vladislav Yarmak in Go-go!
по-моему всё предельно ясно
источник

VY

Vladislav Yarmak in Go-go!
передайте
источник

VY

Vladislav Yarmak in Go-go!
раньше такая манера речи встречалась только в анекдотах про чукчей, которых в армию отправили служить и они изъясниться не могут
источник

DP

Daniel Podolsky in Go-go!
от бесполезных ответов имеет смысл воздерживаться, коллега
источник

DP

Daniel Podolsky in Go-go!
коллеги, остановитесь
источник