parent
5e5e0ee732
commit
d08834e39e
@ -0,0 +1,43 @@ |
|||||||
|
package main |
||||||
|
|
||||||
|
import ( |
||||||
|
"errors" |
||||||
|
"fmt" |
||||||
|
) |
||||||
|
|
||||||
|
type Todo struct { |
||||||
|
Title string |
||||||
|
Content string |
||||||
|
} |
||||||
|
|
||||||
|
type Todos struct { |
||||||
|
Items []Todo |
||||||
|
} |
||||||
|
|
||||||
|
func (todo *Todos) AddTodo(newTodo Todo) { |
||||||
|
todo.Items = append(todo.Items, newTodo) |
||||||
|
} |
||||||
|
|
||||||
|
func (todo *Todos) RemoveTodo(index int) (err error) { |
||||||
|
//remove todo via index
|
||||||
|
if len(todo.Items) == 0 { |
||||||
|
return errors.New("[ERR] Todo list is empty!\n") |
||||||
|
} |
||||||
|
|
||||||
|
if index > len(todo.Items) { |
||||||
|
return errors.New("[ERR] Index out of bounds") |
||||||
|
} |
||||||
|
|
||||||
|
todo.Items = append(todo.Items[:index], todo.Items[index+1:]...) |
||||||
|
return nil |
||||||
|
} |
||||||
|
|
||||||
|
func (todo *Todos) ListTodo() int { |
||||||
|
if len(todo.Items) == 0 { |
||||||
|
return 0 |
||||||
|
} |
||||||
|
for k, v := range todo.Items { |
||||||
|
fmt.Printf("%d:%s\n", k, v) |
||||||
|
} |
||||||
|
return 1 |
||||||
|
} |
Reference in new issue