Hello, I am writing this application, where I can store some reminders for
myself in CLI to not forget something important.
My question is how can I save my input data or lets say what's the best way
to do so? I've tried JSON, but it didnt work out, primarily because I cant
really figure it out. Anyhow if JSON is the way to go, I've been stuck and
it got me really frustrated.
Example:
The function which creates new reminder:
func newReminder() {
checkFile() //Simple check if file is not in the directory it creates
one
var text string
date := time.Now()
dateString := date.String()
file, err := os.OpenFile("rem.json", os.O_RDWR|os.O_APPEND, os.ModePerm)
if err != nil {
log.Fatal(err)
}
fmt.Print("Description: ")
scanner := bufio.NewScanner(os.Stdin)
if ok := scanner.Scan(); ok {
text = scanner.Text()
}
reminder := &Name{dateString[:19], text}
newReminder, _ := json.Marshal(&reminder)
file.Write(newReminder)
file.Close()
}
Here everything is working fine. I execute it with ./main -n, write new
reminder, display it and it goes well. Although when I add another reminder
and try to display it i get an error: invalid character '{' after top-level
value
Its because when I cat out my json file it looks like this :
{"Date":"2017-03-20 10:46:48","Description":"new"}{"Date":"2017-03-20
10:46:51","Description":"new .go"}
So basically it has no root node. So again, is there a way to wrap it up? If
the code is confusing here's the whole. https://play.golang.org/p/d0mlZw3ZH-
Thanks in advance.
--
You received this message because you are subscribed to the Google Groups
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.