|
@@ -0,0 +1,32 @@
|
|
|
+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)
|
|
|
+
|
|
|
+}
|