1
0
mirror of https://github.com/MADTeacher/go_basics.git synced 2025-11-23 21:34:47 +02:00
Files
go_basics/part_3/3.1/7.go
2025-06-04 18:38:52 +03:00

39 lines
1.2 KiB
Go

package main
import "fmt"
type employee struct {
name string
departmentName string
age uint8
position string
}
func main() {
emp2 := employee{
name: "Tom",
position: "Intern",
}
empPoint := &emp2 // первый способ через оператор &
empPoint1 := &employee{ // второй способ через оператор &
name: "Maxim",
position: "Intern",
age: 18,
}
// изменение значений полей через указатель на структуру
(*empPoint).departmentName = "R&D"
// тоже самое, что
empPoint.age = 23
empPoint1.departmentName = "R&D"
fmt.Printf("%+v\n", *empPoint) // {name:Tom departmentName:R&D age:23 position:Intern}
fmt.Printf("%+v\n", *empPoint1) // {name:Maxim departmentName:R&D age:18 position:Intern}
empPoint2 := new(employee) // использование ключевого слова new
fmt.Printf("%+v\n", *empPoint2) // {name: departmentName: age:0 position:}
empPoint2.departmentName = "Oo"
empPoint2.name = "Alex"
empPoint2.position = "Engineer"
empPoint2.age = 40
fmt.Printf("%+v\n", *empPoint2) // {name:Alex departmentName:Oo age:40 position:Engineer}
}