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/9.go

35 lines
670 B
Go
Raw Normal View History

package main
import "fmt"
type employee struct {
name string
age uint8
}
func valueFunc(emp employee) {
emp.name = "O_O"
fmt.Printf("Copy value: %+v\n", emp)
}
func pointFunc(emp *employee) {
emp.name = "^_^"
fmt.Printf("Point to value: %+v\n", emp)
}
func main() {
emp := employee{
name: "Tom",
age: 45,
}
newEmployee := emp
newEmployee.age = 22
fmt.Printf("newEmployee = %+v\n", newEmployee)
fmt.Printf("emp = %+v\n", emp)
valueFunc(emp) // передача в функцию по значению
fmt.Printf("emp = %+v\n", emp)
pointFunc(&emp) // передача в функцию по указателю
fmt.Printf("emp = %+v\n", emp)
}