Go言語学習の2日目です。
今日は、昨日作成したTodoアプリを改良しました。
作った機能
Todoアプリのタスクに、処理済みのフラグを追加して、処理済みのものだけ一覧表示できるようにした
スライスの要素数
// 要素数を取得できる
// 要素数が0の時は、空であるかを判定できる(JavaScriptと似ている)
len(slice) == 0{
}
スライスのフィルター操作
Task構造体に処理済みのフラグのフィールドを持たせました。これがtrueのものだけをフィルターしたかったのですが、どうやらfor文を回す必要がありそうです。
新しい空の配列を用意しておいて、for文の中のif分に当てはまるだけを新しい配列にappendメソッドで追加していきました。
func filterTask(tasks []Task, isDone bool)([]Task) {
var filteredTasks []Task
for _, task := range tasks{
if task.Completed == isDone{
filteredTasks = append(filteredTasks,task)
}
}
return filteredTasks
}
今日は短いですが、この辺です。
明日はこのTodoアプリはcobraというライブラリで作り直す。
もしくは、新しいアプリ作成に挑戦しようと思います。