06 - Structs et méthodes


Le code source développé dans cet épisode :

package main

type todo struct {
  text string
  done bool
}

// function with receiver
// func (receiver) identifier(args) (returns)
func (t *todo) toggle() {
  t.done = !t.done
}

type user struct {
  name  string
  todos []todo
}

func (u *user) addTodo(t todo) {
  u.todos = append(u.todos, t)
}

func main() {
  u := user{name: "Kurosoki ichigo"}

  t := todo{text: "Bien faire les choses cette fois."}
  t.toggle()
  u.addTodo(t)

  fmt.Printf("%v\n", u)
}