wiki_part1.go 619 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // wiki_part1.go
  2. package main
  3. import (
  4. "fmt"
  5. "io/ioutil"
  6. )
  7. type Page struct {
  8. Title string
  9. Body []byte
  10. }
  11. func (this *Page) save() (err error) {
  12. return ioutil.WriteFile(this.Title, this.Body, 0666)
  13. }
  14. func (this *Page) load(title string) (err error) {
  15. this.Title = title
  16. this.Body, err = ioutil.ReadFile(this.Title)
  17. return err
  18. }
  19. func main() {
  20. page := Page{
  21. "Page.md",
  22. []byte("# Page\n## Section1\nThis is section1."),
  23. }
  24. page.save()
  25. // load from Page.md
  26. var new_page Page
  27. new_page.load("Page.md")
  28. fmt.Println(string(new_page.Body))
  29. }
  30. /* Output:
  31. * # Page
  32. * ## Section1
  33. * This is section1.
  34. */