Firstly, there is no need to highlight variables. Secondly, you can perform a short assignment inside if statements, for example:
entryJson, err := json.MarshalIndent(entry, "", " ")
if err != nil{
log.Println(err)
} else {
log.Println(entryJson)
}
if err = ioutil.WriteFile("text.json", entryJson, 0644); err != nil{
log.Println(err)
}
if err := ioutil.WriteFile("text.json", entryJson, 0644); err != nil{
log.Println(err)
}
, , , :
func writeJSON(fn string, v interface{}) error {
j, err := json.MarshalIndent(v, "", " ")
if err != nil {
return err
}
return ioutil.WriteFile(fn, j, 0644)
}
func main() {
var test struct {
A string
B string
}
if err := writeJSON("file.json", test); err != nil {
log.Fatal(err)
}
}