Passing Pointers to a Function in Go Last Updated : 12 Jul, 2025 Comments Improve Suggest changes Like Article Like Report Prerequisite: Pointers in Go Pointers in Go programming language or Golang is a variable which is used to store the memory address of another variable. You can also pass the pointers to the function like the variables. There are two ways to do this as follows: Create a pointer and simply pass it to the Function In the below program we are taking a function ptf which have integer type pointer parameter which instructs the function to accept only the pointer type argument. Basically, this function changed the value of the variable x. At starting x contains the value 100. But after the function call, value changed to 748 as shown in the output. Go // Go program to create a pointer // and passing it to the function package main import "fmt" // taking a function with integer // type pointer as an parameter func ptf(a *int) { // dereferencing *a = 748 } // Main function func main() { // taking a normal variable var x = 100 fmt.Printf("The value of x before function call is: %d\n", x) // taking a pointer variable // and assigning the address // of x to it var pa *int = &x // calling the function by // passing pointer to function ptf(pa) fmt.Printf("The value of x after function call is: %d\n", x) } Output: The value of x before function call is: 100 The value of x after function call is: 748Passing an address of the variable to the function call Considering the below program, we are not creating a pointer to store the address of the variable x i.e. like pa in the above program. We are directly passing the address of x to the function call which works like the above-discussed method. Go // Go program to create a pointer // and passing the address of the // variable to the function package main import "fmt" // taking a function with integer // type pointer as an parameter func ptf(a *int) { // dereferencing *a = 748 } // Main function func main() { // taking a normal variable var x = 100 fmt.Printf("The value of x before function call is: %d\n", x) // calling the function by // passing the address of // the variable x ptf(&x) fmt.Printf("The value of x after function call is: %d\n", x) } Output: The value of x before function call is: 100 The value of x after function call is: 748 Note: You can also use the short declaration operator(:=) to declare the variables and pointers in above programs. Comment More info A anshul_aggarwal Follow Improve Article Tags : Go Language Golang-Pointers Golang Explore Go Tutorial 3 min read OverviewGo Programming Language (Introduction) 7 min read How to Install Go on Windows? 3 min read How to Install Golang on MacOS? 4 min read Hello World in Golang 3 min read FundamentalsIdentifiers in Go Language 3 min read Go Keywords 2 min read Data Types in Go 7 min read Go Variables 9 min read Constants- Go Language 6 min read Go Operators 9 min read Control StatementsGo Decision Making (if, if-else, Nested-if, if-else-if) 5 min read Loops in Go Language 5 min read Switch Statement in Go 2 min read Functions & MethodsFunctions in Go Language 3 min read Variadic Functions in Go 3 min read Anonymous function in Go Language 2 min read main and init function in Golang 2 min read What is Blank Identifier(underscore) in Golang? 3 min read Defer Keyword in Golang 3 min read Methods in Golang 3 min read StructureStructures in Golang 7 min read Nested Structure in Golang 3 min read Anonymous Structure and Field in Golang 3 min read ArraysArrays in Go 7 min read How to Copy an Array into Another Array in Golang? 3 min read How to pass an Array to a Function in Golang? 2 min read SlicesSlices in Golang 14 min read Slice Composite Literal in Go 3 min read How to sort a slice of ints in Golang? 2 min read How to trim a slice of bytes in Golang? 3 min read How to split a slice of bytes in Golang? 3 min read StringsStrings in Golang 7 min read How to Trim a String in Golang? 2 min read How to Split a String in Golang? 3 min read Different ways to compare Strings in Golang 2 min read PointersPointers in Golang 8 min read Passing Pointers to a Function in Go 3 min read Pointer to a Struct in Golang 3 min read Go Pointer to Pointer (Double Pointer) 4 min read Comparing Pointers in Golang 3 min read Like