Printing and Storing Addresses of Struct Variables in Go
When declaring struct variables and assigning them pointers in Go, it becomes necessary to print and store their addresses. A common misconception is using the & operator, which denotes the address of a variable when prefixed to the variable name. However, Go's default printing format for structs treats the last line of a struct's elements as its address, outputting syntax like &{field0 field1 ...}.
To print the address of a struct variable explicitly, we need to use the %p verb in a format string:
fmt.Printf("%p\n", &r)
This will output the accurate address of the struct variable r.
Storing the address of a struct variable in another variable is also possible. The following code demonstrates this:
var addr uintptr addr = &r
This assigns the address of r to the addr variable of type uintptr.
The above is the detailed content of How Do I Print and Store the Memory Address of a Struct Variable in Go?. For more information, please follow other related articles on the PHP Chinese website!