Go supports pointers, allowing you to pass references to values and records within your program. |
|
![]() ![]() package main |
|
import "fmt" |
|
We’ll show how pointers work in contrast to values with
2 functions: |
func zeroval(ival int) { ival = 0 } |
|
func zeroptr(iptr *int) { *iptr = 0 } |
func main() { i := 1 fmt.Println("initial:", i) |
|
zeroval(i) fmt.Println("zeroval:", i) |
|
The |
zeroptr(&i) fmt.Println("zeroptr:", i) |
Pointers can be printed too. |
fmt.Println("pointer:", &i) } |
|
$ go run pointers.go initial: 1 zeroval: 1 zeroptr: 0 pointer: 0x42131100 |
Next example: Strings and Runes.