Created
February 13, 2013 07:50
-
-
Save tetsuok/4942960 to your computer and use it in GitHub Desktop.
Printing structs; convert structs to JSON format easily.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Printing structs. | |
// http://research.swtch.com/gotour | |
package main | |
import ( | |
"encoding/json" | |
"fmt" | |
"log" | |
) | |
type Arc struct { | |
Head string | |
Modifier string | |
} | |
func main() { | |
arc := Arc{"saw", "He"} | |
fmt.Printf("%v\n", arc) | |
fmt.Printf("%+v\n", arc) | |
fmt.Printf("%#v\n", arc) | |
// Convert structs to JSON. | |
data, err := json.Marshal(arc) | |
if err != nil { | |
log.Fatal(err) | |
} | |
fmt.Printf("%s\n", data) | |
} |
thanks works fine for me :)
Works without any extra effort (for private fields too).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Yes, that's what I ended up doing. The error I made was that Marshal has 2 return values and I embedded the return into a function, which Bob says is bad habit and shouldn't be done in Go. Once I made the call return two variables (to separate err), then Println didn't print the byte array.
Thanks!!