Pointers in Go
New Courses Coming Soon
Join the waiting lists
Suppose you have a variable:
age := 20
Using &age
you get the pointer to the variable, its memory address.
When you have the pointer to the variable, you can get the value it points to by using the *
operator:
age := 20
ageptr = &age
agevalue = *ageptr
This is useful when you want to call a function and pass the variable as a parameter. Go by default copies the value of the variable inside the function, so this will not change the value of age
:
func increment(a int) {
a = a + 1
}
func main() {
age := 20
increment(age)
//age is still 20
}
You can use pointers for this:
func increment(a *int) {
*a = *a + 1
}
func main() {
age := 20
increment(&age)
//age is now 21
}
→ Get my Go Handbook
Here is how can I help you:
- COURSES where I teach everything I know
- CODING BOOTCAMP cohort course - next edition in 2025
- BOOKS 16 coding ebooks you can download for free on JS Python C PHP and lots more
- Follow me on X