package main

import "fmt"

type NewPerson struct {
	Id   int
	Name string
}

type NewAccount struct {
	Id   int
	Name string
	NewPerson
}

// не изменит оригинальной структуры для которй вызнва
func (p NewPerson) UpdateName(name string) {
	p.Name = name
}

// изменит ориганальную структуру
func (p *NewPerson) SetName(name string) {
	p.Name = name
}

func main() {
	pers := NewPerson{1, "Vasily"}
	fmt.Printf("updated person: %#v\n", pers)
	pers.SetName("Vasily Romanov")
	fmt.Printf("updated person: %#v\n", pers)

}
