package main
import (
"fmt"
"net/http"
"io/ioutil"
"encoding/json"
)
const baseURL = "https://api.gogoanime.so/api/v1"
type AnimeDetails struct {
Title string `json:"title"`
Description string `json:"description"`
Episodes []Episode `json:"episodes"`
}
type Episode struct {
EpisodeNumber int `json:"episode_number"`
Title string `json:"title"`
VideoURL string `json:"video_url"`
}
func getAnimeDetails(animeID string) (*AnimeDetails, error) {
url := fmt.Sprintf("%s/anime/%s", baseURL, animeID)
response, err := http.Get(url)
if err != nil {
return nil, err
}
defer response.Body.Close()
body, err := ioutil.ReadAll(response.Body)
if err != nil {
return nil, err
}
var animeDetails AnimeDetails
err = json.Unmarshal(body, &animeDetails)
if err != nil {
return nil, err
}
return &animeDetails, nil
}
func main() {
animeID := "your_anime_id_here"
animeDetails, err := getAnimeDetails(animeID)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Printf("Title: %s\n", animeDetails.Title)
fmt.Printf("Description: %s\n", animeDetails.Description)
fmt.Println("Episodes:")
for _, episode := range animeDetails.Episodes {
fmt.Printf(" Episode %d: %s\n", episode.EpisodeNumber, episode.Title)
fmt.Printf(" Video URL: %s\n", episode.VideoURL)
}
}