

Программирование на go.
Пожалуйста помогите вот условия :
Итак, у Гоши уже есть задачи, но зачем задачи сами по себе, без списка дел? Помогите Гоше воплотить его мечту и создайте его идеальный список дел.
Напишите структура Note (сущность заметок, у которых в отличие от задач нет чётких дедлайнов и приоритета):
1. title - заголовок (тип string)
2. text - текст заметок (тип string)
Создайте структуру ToDoList с такими полями:
1. name - название списка (тип string)
2. tasks - список дел на сегодня (тип слайс структур Task (из предыдущего задания))
3. notes - список дополнительных заметок (тип слайс структур Note)
Для этой структуры реализуйте методы TasksCount и NotesCount, которые возвращают общее количество задач и заметок соответственно.
Также реализуйте метод CountTopPrioritiesTasks, который возвращает количество приоритетных задач. А также метод CountOverdueTasks, который возвращает количество просроченных задач.
Сама структура Task и все её методы из предыдущего задания также должны быть реализованы в этом.
Ты в четвёртый раз за сутки публикуешь один и тот же вопрос, на который только нейросеть и "ответила", да и то только потому, что не понимает смысл задаваемых ей вопросов.
Для написания кода, решающего эту задачу, необходимы текст предыдущей задачи и "твой" Go-код, который предыдущую задачу полностью решает. А раз ты это не публикуешь, то и ответа быть не может.
Нет, эту задачу я решать не буду даже при наличии всех данных - слишком скучная. Но если ты опубликуешь достаточный для её решения объём информации, возможно, всё же найдётся кто-то, кто напишет за тебя код.
import "time"
type Note struct {
title string
text string
}
type Task struct {
title string
description string
priority int
deadline time.Time
completed bool
}
func (t *Task) MarkCompleted() {
t.completed = true
}
func (t *Task) IsOverdue(currentTime time.Time) bool {
return !t.completed && currentTime.After(t.deadline)
}
func (t *Task) IsPriority() bool {
return t.priority > 3
}
type ToDoList struct {
name string
tasks []Task
notes []Note
}
func (tdl *ToDoList) TasksCount() int {
return len(tdl.tasks)
}
func (tdl *ToDoList) NotesCount() int {
return len(tdl.notes)
}
func (tdl *ToDoList) CountTopPrioritiesTasks() int {
count := 0
for _, task := range tdl.tasks {
if task.IsPriority() {
count++
}
}
return count
}
func (tdl *ToDoList) CountOverdueTasks(currentTime time.Time) int {
count := 0
for _, task := range tdl.tasks {
if task.IsOverdue(currentTime) {
count++
}
}
return count
}