我剛剛開始學習Go,並且製作了一個函數,該函數使用包含一些元數據(文件是博客文章)的標題解析標記文件。有沒有辦法清理這個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}
}
甲側面說明:[黑色星期五](https://github.com/russross/blackfriday)可以降價一個完整的,天然的圍棋解析器。 – jimt
謝謝,我一直在使用不同的md解析器(https://github.com/hoisie/mustache),但blackfriday看起來更精美一些。 – Zen
不要忽略'ioutil.ReadFile'的錯誤!將其返回,記錄或者恐慌 - 忽略它會在未來導致難以調試的問題。 –