golang pointer
package main import "fmt" type Person struct { Firstname string Lastname string } func pointerParameter(fullname *string) { *fullname = "john doe" fmt.Println("passing data with pointer", *fullname) } func pointerStructParameter(person *Person) { fmt.Println(*person) } func pointerStructParameterWithRetruning(person *Person) (pointer interface{}) { pointer = *person return pointer } func main() { var fullname string realNumber := 5 pointerNumber := &realNumber number := pointerNumber person := &Person{ Firstname: "john doe", Lastname: "margareth", } var yearsPointer *int years := &yearsPointer pointerParameter(&fullname) pointerStructParameter(person) fmt.Println("real number", realNumber) fmt.Println("pointer number", pointerNumber) fmt.Printf("real number from pointer %vn", *number) fmt.Println("nil pointer", *years) fmt.Println("read pointer paramter with returning", pointerStructParameterWithRetruning(person)) }