go pointers
& address of / create pointer
* dereference pointer
go pointers
& address of / create pointer
* dereference pointer
go pointers
p := Vertex{1, 2} // p is a Vertex
q := &p // q is a pointer to a Vertex
r := &Vertex{1, 2} // r is also a pointer to a Vertex
// The type of a pointer to a Vertex is *Vertex
var s *Vertex = new(Vertex) // new creates a pointer to a new struct instance
go pointers
func main() {
i, j := 42, 2701
p := &i // point to i
fmt.Println(*p) // read i through the pointer
*p = 21 // set i through the pointer
fmt.Println(i) // see the new value of i
p = &j // point to j
*p = *p / 37 // divide j through the pointer
fmt.Println(j) // see the new value of j
}
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 %v\n", *number)
fmt.Println("nil pointer", *years)
fmt.Println("read pointer paramter with returning", pointerStructParameterWithRetruning(person))
}
Copyright © 2021 Codeinu
Forgot your account's password or having trouble logging into your Account? Don't worry, we'll help you to get back your account. Enter your email address and we'll send you a recovery link to reset your password. If you are experiencing problems resetting your password contact us