私はGoを学び始めたばかりで、いくつかのメタデータを含むヘッダー付きのマークダウンファイルを解析する関数を作成しました(ファイルはブログ投稿です)。
ここに例があります:
---
Some title goes here
19 September 2012
---
This is some content, read it.
私はこの関数を作成しましたが、これは機能しますが、非常に冗長で厄介だと感じています。さまざまな文字列パッケージを確認しましたが、Goについて十分に理解しておらず、自分がどうあるべきかを知るためのベストプラクティスです。別の方法で、これをクリーンアップするためのヒントを得ることができれば、それをいただければ幸いです。(また、私はそのエラーを無視するべきではないことを知っています)。
type Post struct {
Title string
Date string
Body string
}
func loadPost(title string) *Post {
filename := title + ".md"
file, _ := ioutil.ReadFile("posts/" + filename)
fileString := string(file)
str := strings.Split(fileString, "---")
meta := strings.Split(str[1], "\n")
title = meta[1]
date := meta[2]
body := str[2]
return &Post{Title: title, Date: date, Body: body}
}