файл создался в той же директории что и proto файл.
то есть голанг настаивает, чтобы я делал как модуль?
wg.Wait()
fmt.Println(results)
go func() {
wg.Wait()
close(resultCh)
}()
for res := range resultCh {
results = append(results, res)
}
fmt.Println(results)
go func() {
wg.Wait()
close(ch)
}()
for range...
func main() {
err := doJob()
if err != nil {
logger.Println(err)
report := Report{"newEpisodes", err.Error()}
bot.reportToChannel(report)
}
}
func doJob() error {
res, err := http.Get(episode.VideoUrl)
if err != nil {
return err
}
if res.StatusCode != 200 {
return errors.New("bad status")
}
p, listType, err := m3u8.DecodeFrom(res.Body, false)
if err != nil {
return fmt.Errorf("decode m3u8: %w", err)
}
if listType != m3u8.MASTER {
return fmt.Errorf("playlist is not Master: %w", err)
}
videoUrl, ok := findX480Url(p.(*m3u8.MasterPlaylist).Variants)
if ok == false {
return fmt.Errorf("no 480p: %w", err)
}
return nil
}
if err != nil {
return err
}
package main
import (
"fmt"
"time"
)
func main() {
year2000 := time.Date(2000, 1, 1, 0, 0, 0, 0, time.UTC)
year3000 := time.Date(3000, 1, 1, 0, 0, 0, 0, time.UTC)
isYear3000AfterYear2000 := year3000.After(year2000) // True
isYear2000AfterYear3000 := year2000.After(year3000) // False
fmt.Printf("year3000.After(year2000) = %v\n", isYear3000AfterYear2000)
fmt.Printf("year2000.After(year3000) = %v\n", isYear2000AfterYear3000)
}